FileHandler.level不会覆盖全局级别

时间:2012-11-16 19:04:34

标签: file logging java java.util.logging

我正在使用jdk日志记录,我在logging.properties中有以下内容:

handlers= java.util.logging.FileHandler
.level= INFO

java.util.logging.FileHandler.level = FINEST
java.util.logging.FileHandler.pattern = log/soap_%g.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter

# Limit the message that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = FINEST
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter


############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
com.pvm.ccd.service.client=FINEST
com.pvm.ccd.service.client.handler=FINEST
com.pvm.ccd.service.client.util=FINEST

日志文件soap_0.log和lck文件正在创建,但是,我在日志文件中看不到任何log.fine(msg)条目。由于我已将FileHandler级别设置为FINEST,它应该覆盖全局INFO级别,不应该吗?

我是java 1.6 u15。我究竟做错了什么?

我也发布了问题here

1 个答案:

答案 0 :(得分:0)

来自LogManager文档:

  

所有名称以" .level"结尾的属性假定为Loggers定义日志级别。因此" foo.level"定义记录器的日志级别,称为" foo"和(递归地)在命名层次结构中的任何子项。

以下行不正确:

com.pvm.ccd.service.client=FINEST com.pvm.ccd.service.client.handler=FINEST com.pvm.ccd.service.client.util=FINEST

要设置记录器的级别,需要:

com.pvm.ccd.service.client.level=FINEST