Java logging.properties 文件只打印特定的记录器
Java logging.properties file only print specific logger
我正在使用 .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 不要记录第一个记录器的任何内容,而是第二个记录器的所有内容。
我也尝试使用 .level
和 java.util.logging.FileHandler.level
设置不同的值,但是设置 java.util.logging.FileHandler.level=processMessage
确实导致配置错误。
有人可以通过仅修改 logging.properties
文件来帮助我实现我想要的行为吗?
看起来像:
- 您在设置记录器级别时忘记包含“.level”。
- 您拼写错误 'SimpleForwardApplicaiton'。这与记录器名称匹配吗?
- 您没有关闭所有其他记录器。这仅适用于由代码创建的记录器。
尝试将根记录器设置为关闭并仅打开您想要查看的记录器
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.level = ALL
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
.level=OFF
au.id.czapski.hl7.SimpleForwardApplicaiton.level = ALL
au.id.czapski.hl7.SimpleForwardApplication.level = ALL
我正在使用 .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 不要记录第一个记录器的任何内容,而是第二个记录器的所有内容。
我也尝试使用 .level
和 java.util.logging.FileHandler.level
设置不同的值,但是设置 java.util.logging.FileHandler.level=processMessage
确实导致配置错误。
有人可以通过仅修改 logging.properties
文件来帮助我实现我想要的行为吗?
看起来像:
- 您在设置记录器级别时忘记包含“.level”。
- 您拼写错误 'SimpleForwardApplicaiton'。这与记录器名称匹配吗?
- 您没有关闭所有其他记录器。这仅适用于由代码创建的记录器。
尝试将根记录器设置为关闭并仅打开您想要查看的记录器
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.level = ALL
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
.level=OFF
au.id.czapski.hl7.SimpleForwardApplicaiton.level = ALL
au.id.czapski.hl7.SimpleForwardApplication.level = ALL