setLoggerLevel()loggingmxbean的非法参数

时间:2011-10-04 13:27:33

标签: jsp jconsole java.util.logging mbeans

当我尝试通过jconsole调用setLoggerLevel()时,我收到了非法参数(Bad Level)异常。如果我将级别设为“INFO”,则成功调用该方法。除此之外的任何东西都会抛出异常。

2 个答案:

答案 0 :(得分:0)

您确定要传递有效的记录器名称吗?来自“投掷”部分中的java文档:

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

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

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

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

答案 1 :(得分:0)

setLoggerLevel支持的有效级别如下:

  • 关闭
  • 严重
  • 警告
  • 信息
  • 配置
  • 精细
  • 更细
  • 最美好
  • 全部

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