簡體   English   中英

log4j ConversionPattern時間戳以微秒為單位

[英]log4j ConversionPattern timestamp with microseconds

我想在log4j生成的日志文件的每個條目的時間戳中添加微秒,是否可能?

我在官方文檔中搜索過但沒有提到毫秒以下的單位。

現在我有一個如下所示的轉換模式:

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

在日期轉換模式( %d )中我想在毫秒值( SSS )之后添加微秒 ,有沒有辦法做到這一點?

如果要顯示微秒,則需要自己添加。 這可以使用自定義Formatter(而不是PatternFormatter)來完成

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

如果您需要更具體的模式,請使用“ 納秒級 ”模式字母n而不是“ 分數秒 ”模式字母S ,例如%d{dd MMM yyyy HH:mm:ss,nnnn} to %d{dd MMM yyyy HH:mm:ss,nnnnnnnnn}將於02 Nov 2012 14:34:02,1234 to 02 Nov 2012 14:34:02,123456789

在你的情況下,你需要幾毫秒和幾微秒,你的模式可能類似於%d{dd/MM/yyyy HH:mm:ss,nnnnnn}

在Java 9上運行時,Log4j 2.11增加了對時間戳的有限支持,比毫秒更精確。

有關詳細信息,請參閱https://logging.apache.org/log4j/2.x/manual/layouts.html

它基於SimpleDateFormat並且不支持亞毫秒格式,因此無法報告微秒。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM