Java logging.properties 文件只打印特定的记录器

我正在使用 .jar 文件并从logging.properties文件中读取。


这是我用来启动应用程序(代理应用程序)的命令


java -Djava.util.logging.config.file=logging.properties -jar CMDHL7Proxy_v0.7.jar


我已经将文件配置logging.properties为记录到文件中。


这是我的logging.properties文件的内容:


handlers= java.util.logging.FileHandler


java.util.logging.FileHandler.pattern = /opt/log/Proxy_%u_%g.log

java.util.logging.FileHandler.limit = 50000

java.util.logging.FileHandler.count = 1

java.util.logging.FileHandler.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.xyz.foo.level = SEVERE

ca.uhn.log.HapiLogImpl = OFF

au.id.czapski.hl7.SimpleForwardApplicaiton = ALL

如果我查看该.log文件,那么我会看到来自以下位置的日志消息:


Jan 28, 2019 5:48:31 PM ca.uhn.log.HapiLogImpl info 

<.... logged content .... > 

<.... logged content .... >



Jan 28, 2019 5:29:34 PM au.id.czapski.hl7.SimpleForwardApplicaiton processMessage

<.... logged content .... > 

<.... logged content .... >


我的目标是仅从此记录器“au.id.czapski.hl7.SimpleForwardApplicaiton”获取消息


我的理解告诉我logging.properties文件中的最后两行应该告诉 java 不要记录第一个记录器的任何内容,而是第二个记录器的所有内容。


我还尝试使用 and 设置不同的值,.level但java.util.logging.FileHandler.level设置java.util.logging.FileHandler.level=processMessage确实会导致配置错误。


logging.properties有人可以通过仅修改文件来帮助我实现我想要的行为吗?


森栏
浏览 164回答 1
1回答

慕娘9325324

好像:您在设置记录器的级别时忘记包含“.level”。您拼错了“SimpleForwardApplicaiton”。这与记录器名称匹配吗?您没有关闭所有其他记录器。这仅适用于由代码创建的记录器。尝试将根记录器设置为关闭并仅打开您想要查看的记录器handlers= java.util.logging.FileHandlerjava.util.logging.FileHandler.pattern = /opt/log/Proxy_%u_%g.logjava.util.logging.FileHandler.limit = 50000java.util.logging.FileHandler.level = ALLjava.util.logging.FileHandler.count = 1java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter.level=OFFau.id.czapski.hl7.SimpleForwardApplicaiton.level = ALLau.id.czapski.hl7.SimpleForwardApplication.level = ALL
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java