我正在使用java.util.logging.Logger在websphere中进行日志记录,并且一直在尝试让Logger.isLoggable工作,但它没有按预期工作。例如,如果我将某个包的日志记录级别设置为ALL,并检查Level.Finest是否可记录,则返回false并且不会将任何内容记录到日志记录文件中。
在下表中,我在第一行定义了websphere中的包级别日志记录级别。在以下几行中,我定义了可能的isLoggable选项,以及当包日志记录设置为上面指定的值时是否返回true。我的期望是不正确的还是未在websphere中以预期的方式设置日志记录级别?
Package level Log Setting ALL FINEST FINER FINE WARN SEVERE isLoggable(all) Yes No No No No No isLoggable(finest) Yes Yes No No No No isLoggable(finer) Yes Yes Yes No No No isLoggable(fine) Yes Yes Yes Yes No No isLoggable(warn) Yes Yes Yes Yes Yes No isLoggable(severe) Yes Yes Yes Yes Yes Yes
非常感谢。
杰里米
答案 0 :(得分:1)
我遇到了这个问题并且非常惊讶为什么不应该这样,因为WebSphere Application Server使用标准的Java Util Logging。
为了测试它,我编写了一个快速应用程序,它创建了几个不同的记录器并使用isLoggable()方法检查它们。您可以在下面看到结果。我删除了级别ALL和OFF以获得一个紧凑的列表,但它们也按预期工作。
Server Info: IBM WebSphere Application Server/7.0
Package level/Log Setting FINEST FINER FINE CONFIG INFO WARNING SEVERE
isLoggable(finest) Yes No No No No No No
isLoggable(finer) Yes Yes No No No No No
isLoggable(fine) Yes Yes Yes No No No No
isLoggable(config) Yes Yes Yes Yes No No No
isLoggable(info) Yes Yes Yes Yes Yes No No
isLoggable(warning) Yes Yes Yes Yes Yes Yes No
isLoggable(severe) Yes Yes Yes Yes Yes Yes Yes
从我的观点来看,我会说它按预期工作。也许有一个错误,它在此期间得到了解决。