当我尝试通过jconsole调用setLoggerLevel()时,出现非法参数(错误级别)异常。如果我将级别指定为“ INFO”,则将成功调用该方法。除此之外,其他任何东西都将引发异常。
您确定要传递有效的记录器名称吗?从“抛出”部分的Java文档中:
IllegalArgumentException-如果loggerName不是注册的记录器,或者levelName不为null且值无效。
这是来自Sun(Oracle)或IBM的同一文档。
IBM似乎对此有一个错误的实现,我已经在WebSphere 7.0上看到它,即使根据Java文档,您也可以这样做,但它将为日志级别抛出NullPointerException。
如果您对应用程序有任何控制权,并且可以创建一个新的MBean,则可以在内部直接使用日志记录API,而不必完全使用LoggingMXBean。然后,您可以通过jconsole和新的MBean控制日志记录级别。
setLoggerLevel
支持的有效级别如下:
有关更多详细信息,请参见java.util.logging.Level
。