How to configure the jdk14 logging's pattern

只谈情不闲聊 提交于 2019-11-27 23:58:29

Edit: The below was written at the time for Java 6. For 7 and later, refer to David's answer below.

AFAIK there is no such property. There is a java.util.logging.FileHandler.pattern but this is to set the pattern of the output filename, not of the logging format.

The way you configure the output format in the util logging API is by setting the Formatter. By default, a SimpleFormatter is attached to your ConsoleHandler. This formatter simply hardcodes the pattern and doesn't allow you to set it.

If you need a different output format, you'll have to either implement your own Formatter, or use a different logging framework, such as logback.

This question has already been answered by somebody, but i want to provide some new information:

Since Java 7 it is possible to configure the output pattern for log messages with the SimpleFormatter.

You can use this property in your logging properties file:

java.util.logging.SimpleFormatter.format = [%1$tc] %4$s: %2$s - %5$s %6$s%n

If you need more information on the pattern syntax have a look here: http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html

The digits in the property value above refer to parameters provided to the formatter. Please refer to the official Java docs for more information: http://docs.oracle.com/javase/7/docs/api/java/util/logging/SimpleFormatter.html

Example configuration file logging.properties:

handlers = java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
# Pattern works since Java 7
java.util.logging.SimpleFormatter.format = [%1$tc] %4$s: %2$s - %5$s %6$s%n

When you call your java program you can specify your configuration file as parameter:

java -Djava.util.logging.config.file=logging.properties -jar myProgram.jar
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!