java - 带微秒的 log4j ConversionPattern 时间戳

标签 java logging log4j

我想在使用 log4j 生成的日志文件的每个条目的时间戳中添加微秒,这可能吗?

我在官方文档中搜索过,但没有提到毫秒以下的单位。

现在我有一个像下面这样的转换模式:

%d{dd/MM/yyyy HH\:mm\:ss,SSS} %-5p [%t] - %m%n

在日期转换模式(%d)中,我想在毫秒值(SSS)之后添加微秒,有没有办法去做吧 ?

最佳答案

Java 9log4j 2.11.0开始,即使是纳秒级也可以获取时间戳。

以下是特殊的预定义模式,允许获取日期时间或微秒或纳秒时间:

  • 模式:%d{ABSOLUTE_MICROS} 输出示例:14:34:02,123456
  • 模式:%d{ABSOLUTE_NANOS} 输出示例:14:34:02,123456789
  • 模式:%d{DEFAULT_MICROS} 输出示例:2012-11-02 14:34:02,123456
  • 模式:%d{DEFAULT_NANOS} 输出示例:2012-11-02 14:34:02,123456789

如果您需要更具体的模式,请使用“nano-of-second”模式字母 n 而不是“fraction-of-second"模式字母 S 例如 %d{dd MMM yyyy HH:mm:ss,nnnn} 到 %d{dd MMM yyyy HH:mm:ss,nnnnnnnnn} 将给出 2012 年 11 月 2 日 14:34:02,1234 到 2012 年 11 月 2 日 14:34:02,123456789

在您的情况下,由于您需要毫秒和微秒,因此您的模式可能类似于 %d{dd/MM/yyyy HH:mm:ss,nnnnnn}

Log4j 2.11 adds limited support for timestamps more precise than milliseconds when running on Java 9.

更多详情请引用https://logging.apache.org/log4j/2.x/manual/layouts.html

关于java - 带微秒的 log4j ConversionPattern 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8376488/

相关文章:

java - 如何在 spring mvc 中使用 url 路径中的 id 创建文件夹?我已经创建了文件夹,但我想使用 upload.html 中的 id 创建文件夹?

ruby-on-rails - 保存失败时的Rails日志模型错误

java - 配置 log4j 发送邮件

java - 在 Eclipse 中嵌入 EXT GWT 的 jetty 服务器

java - JPanel 的首选高度低于表渲染器中其子级的组合高度

java - OpenJPA 登录到 Websphere 中的单独文件

java - log4j syslogappender 堆栈跟踪输出不在同一行

java - 错误无法实例化类

java - 通过 Java 调用非托管 C++

python - 在 python 中设置默认日志记录级别