1

当我尝试通过 jconsole 调用 setLoggerLevel() 时出现非法参数(错误级别)异常。如果我将级别指定为“INFO”,则成功调用该方法。除此之外的任何东西都会引发异常。

4

2 回答 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 回答