我有以下logging.properties
文件用于Java日志记录,它是JDK随附的默认logging.properties
文件的稍微修改后的版本:
handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
# Default global logging level.
# This specifies which kinds of events are logged across
# all loggers. For any given facility this global level
# can be overriden by a facility specific level
# Note that the ConsoleHandler also has a separate level
# setting to limit messages printed to the console.
.level = INFO
java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.level=FINEST
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.level = CONFIG
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
FileHandler
和ConsoleHandler
的级别设置被忽略。仅当我设置全局.level = FINEST
时它们才起作用。似乎.level
成为可记录内容的全局限制。但是,根据描述,我希望FileHandler
和ConsoleHandler
中的设置
覆盖全局设置。
我需要其他设置来配置吗?
PS:Java版本为1.8。
答案 0 :(得分:0)
Java Logging Overview将向您详细介绍如何设置日志记录框架。
第.level = FINEST
行确定了根记录器的level。这意味着,如果您的代码中有log
个调用,它们将生成日志记录,这些记录将发布到附加的处理程序以及父处理程序中。
java.util.logging.FileHandler.level=FINEST
行确定将发布到输出文件的最低level。例如,java.util.logging.ConsoleHandler.level = CONFIG
只会将CONFIG及更高版本的记录发布到控制台。