【问题标题】:How to configure the jdk14 logging's pattern如何配置 jdk14 日志记录的模式
【发布时间】:2011-03-24 08:54:49
【问题描述】:

我想我可以通过添加 java.util.logging.ConsoleHandler.pattern 行来更改模式,但是在哪里可以检查 %u %h 等模式信息?

【问题讨论】:

    标签: java java.util.logging


    【解决方案1】:

    这个问题已经有人回答了,但我想提供一些新信息:

    从 Java 7 开始,可以使用 SimpleFormatter 配置日志消息的输出模式。

    您可以在日志记录属性文件中使用此属性:

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

    如果您需要有关模式语法的更多信息,请查看此处: http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html

    上述属性值中的数字是指提供给格式化程序的参数。 有关更多信息,请参阅官方 Java 文档: http://docs.oracle.com/javase/7/docs/api/java/util/logging/SimpleFormatter.html

    示例配置文件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
    
    # Configure logging levels
    # Available log levels are:
    # OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL
    
    # root logger
    .level = WARNING
    
    # child logger
    org.example.level = ALL
    

    当你调用你的java程序时,你可以指定你的配置文件作为参数:

    java -Djava.util.logging.config.file=logging.properties -jar myProgram.jar
    

    【讨论】:

    • 我还必须设置根级别才能使其正常工作.level = ALL。
    • 我已尝试按照这些指示进行操作,但无法让 commons-logging.properties 在我的情况下工作。有什么线索吗?
    • 抱歉,Commons Logging 是一个不同的框架。此答案特定于java.util.logging。
    • 在 -jar 语句之前设置系统属性 (-D...)。 java -Djava.util.logging.config.file=logging.properties -jar myProgram.jardocs.oracle.com/javase/8/docs/technotes/tools/windows/java.html
    【解决方案2】:

    编辑:以下内容当时是为 Java 6 编写的。对于 7 及更高版本,请参阅下面 David 的回答。

    AFAIK 没有这样的属性。有一个java.util.logging.FileHandler.pattern,但这是设置输出文件名的模式,而不是日志格式。

    在 util logging API 中配置输出格式的方式是设置 Formatter。默认情况下,SimpleFormatter 附加到您的 ConsoleHandler。此格式化程序只是对模式进行硬编码,并且不允许您对其进行设置。

    如果您需要不同的输出格式,则必须实现自己的 Formatter,或使用不同的日志框架,例如 logback。

    【讨论】:

      猜你喜欢
      • 2020-08-18
      • 2012-08-29
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      • 2020-03-18
      • 2015-01-13
      • 2012-05-30
      • 1970-01-01
      相关资源
      最近更新 更多