当我尝试通过 jconsole 调用 setLoggerLevel() 时出现非法参数(错误级别)异常。如果我将级别指定为“INFO”,则成功调用该方法。除此之外的任何东西都会引发异常。
问问题
864 次
2 回答
0
你确定你传入了一个有效的记录器名称吗?来自“Throws”部分的 java 文档:
IllegalArgumentException - 如果 loggerName 不是已注册的记录器,或者 levelName 不为 null 且值无效。
这是来自 Sun (Oracle) 或 IBM 的同一份文档。
IBM 似乎对此有一个错误的实现,我在 WebSphere 7.0 上看到过,它会为日志级别抛出 NullPointerException,即使根据 java 文档,您可以这样做。
如果您对应用程序有任何控制权并且可以创建新的 MBean,那么您可以在内部直接使用日志记录 API,而完全避免使用 LoggingMXBean。然后您可以通过 jconsole 和您的新 MBean 控制日志记录级别。
于 2011-10-25T16:36:34.173 回答
0
支持的有效级别setLoggerLevel
如下:
- 离开
- 严重的
- 警告
- 信息
- 配置
- 美好的
- 更精细
- 最好的
- 全部
有关详细信息,请参阅java.util.logging.Level
。
于 2020-02-27T23:34:41.420 回答