setLoggerLevel()loggingmxbean的非法参数

问题描述 投票:0回答:2

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

jsp jconsole java.util.logging mbeans
2个回答
0
投票

您确定要传递有效的记录器名称吗?从“抛出”部分的Java文档中:

IllegalArgumentException-如果loggerName不是注册的记录器,或者levelName不为null且值无效。

这是来自Sun(Oracle)或IBM的同一文档。

IBM似乎对此有一个错误的实现,我已经在WebSphere 7.0上看到它,即使根据Java文档,您也可以这样做,但它将为日志级别抛出NullPointerException。

如果您对应用程序有任何控制权,并且可以创建一个新的MBean,则可以在内部直接使用日志记录API,而不必完全使用LoggingMXBean。然后,您可以通过jconsole和新的MBean控制日志记录级别。


0
投票

setLoggerLevel支持的有效级别如下:

  • 关闭
  • 严重
  • 警告
  • INFO
  • 配置
  • 精细
  • FINER
  • FINEST
  • 全部

有关更多详细信息,请参见java.util.logging.Level

© www.soinside.com 2019 - 2024. All rights reserved.