我正在将log4j2与PatternLayout一起使用,并且此模式为%d %-5p %t %c{1.} - %m %X%n%ex
。 %X
会将上下文映射(也称为媒体诊断上下文)附加到日志行的末尾,除非有任何例外。
在我的日志聚合器中,我试图将这些消息解析回结构化数据中-日期,级别,时间等都很容易,但是很难将地图与Java的默认Map.toString
拼凑在一起实现-由于它是{key1=value 1, key2=value 2}
,没有转义,因此当值包含未转义的=
或,
时,将很难解析。另一方面,JSON将简单可解析回地图。
我找不到任何地方可以挂接到PatternLayout的MDC打印中,但是Log4j2是一个非常可扩展的库,我希望有一些我被忽略的东西。