在Log4J2 JSON布局中限制日志事件的长度,以防止达到docker日志驱动程序限制

时间:2018-11-16 09:55:36

标签: docker log4j2

当前docker日志记录驱动程序的限制为16KB,即unlikely to change

我们想在应用程序中使用Log4J2's JSON layout,因为这种布局使我们能够在集中式Splunk-Log-Database中构建目标明确的仪表板。

但是,在极端情况下,json中的stacktrace-representation会产生非常大的Log事件,超过docker-line-limit的16KB。在这种情况下,消息会被Docker日志记录驱动程序破坏。到达Splunk的日志行如下所示(请注意,docker json文件记录器将我们的日志事件嵌入到其自己的json结构中):

{"log":"16 KB of log event here, truncated at end","stream":"stdout","time":"2018-11-15T15:33:56.939598109Z"}remaining part of log event appended here

我想将Log4J2配置为在所有情况下都将日志事件大小限制为16KB,但似乎不受支持(无此参数)。

如何防止Splunk中接收到损坏的日志事件?

0 个答案:

没有答案