>我正在尝试设置对JSON文件的日志记录,我需要纳秒的记录。但是当我尝试下一个结构时
<JsonLayout compact="true" properties="true" eventEol="true" >
<KeyValuePair key="timestamp" value="$${date:HH:mm:ss.nnnnnnnnn}" />
</JsonLayout>
我收到错误:
错误 无效的日期格式:[HH:mm:ss.nnnnnnnnn],使用默认的java.lang.IllegalArgumentException:非法模式字符"n">
我用纳秒尝试了不同的模式,但没有成功。
对于.log文件,下一个模式有效,但是,它不适用于.json(或者我错误地应用了它(。
<PatternLayout pattern="%d{DEFAULT_NANOS} />
有什么想法吗?
附言日志4j 2.11.0
我遇到了完全相同的错误。
有两个类可以解析日期模式,FixedDateFormat 和 FastDateFormat。 该错误来自 FastDateFormat,因为它不支持日期字段中的"n"格式。 调用 FastDateFormat 的原因是,在构造显示格式期间,FixedDateFormat 无法将日期模式识别为有效。
我研究了这个问题中的规范,以找到 FixedDateFormat 没有按预期解析日期模式的原因,但我找不到原因。 如果我找到原因,我会发布此答案的更新。
就我而言,我有模式"dd MMM YYYY HH:mm:ss,nnnnnnnnn"而不是有效的模式"dd MMM yyyy HH:mm:ss,nnnnnnnnn"(注意"y"的大小写不正确(。