【问题标题】:How to customize timestamp in pattern formatter of jboss logging如何在 jboss 日志记录的模式格式化程序中自定义时间戳
【发布时间】:2021-05-06 20:07:47
【问题描述】:

我想在我的 java standalone.xml 文件中更改模式格式化程序生成的日志中时间戳的格式。 当前格式是"%d{yyyy-MM-dd'T'HH:mm:ss.ssZZZ}",它会生成类似"2021-02-02T19:39:01.01+0530" 的时间戳,但我需要的时间戳是"2021-02-02T19:39:01.01+05:30"。我尝试以"%d{yyyy-MM-dd'T'HH:mm:ss.ss:ZZZ}" 之类的格式添加冒号“:”,但它不起作用。

【问题讨论】:

    标签: java logging jboss timestamp customization


    【解决方案1】:

    这样试试吧。

    String fmt = "yyyy-MM-dd'T'HH:mm:ss.ssZZZZZ";
    String ldt = ZonedDateTime.now().format(DateTimeFormatter.ofPattern(fmt));
    System.out.println(ldt);
    

    打印

    
    2021-02-02T11:08:06.06-05:00
    

    【讨论】:

    • 可以在standalone.xml 文件中执行此操作,因为目前我直接获取时间戳,如 那么有没有可能仅仅通过改变得到想要的输出Standalone.xml 文件
    • 很遗憾我不知道。是否可以设置任何全局环境变量?
    • 嗯,根据您的方法,我想我可以通过使用 MDC 从 java 代码中获取值来使其工作。我想这会奏效
    【解决方案2】:

    您可以在日志子系统中执行此操作。 pattern-formatte 使用SimpleDateFormat 来格式化时间戳。在 CLI 中,假设您使用的是默认配置,您将执行以下操作。

    /subsystem=logging/pattern-formatter=PATTERN:write-attribute(name=pattern, value="%d{yyyy-MM-dd'T'HH:mm:ss.ssXXX} %-5p [%c] (%t) %s%e%n")
    

    XXX 是您要查找的时区格式。

    【讨论】:

      猜你喜欢
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多