Splunk中的日志消息显示为ASCII数字



我们的Spring Boot应用程序在Docker容器中运行。我们使用例如log4j2进行日志记录。

当我在Spring Boot应用程序中使用Spring log4j2.xml配置文件(见下文(时,Docker日志中的日志语句是可读的(纯文本(。当我尝试在Splunk中阅读它们时,消息显示为:

message=['123', '34' '116', ... ]

当我删除log4j2.xml文件时,所有日志在Docker日志中都可以再次读取,就像在Splunk中一样。

为什么会发生这种情况?如何使Splunk中的消息可读?

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info">
<Appenders>
<Console name="Console-Appender" target="SYSTEM_OUT">
<PatternLayout>
<pattern>
[%-5level] %d{MM-dd HH:mm:ss.SSS} [%t] [%c{1} - %msg%n
</pattern>
</PatternLayout>
</Console>
</Appenders>
<Loggers>
<Logger name="nl.mycompany.xyz" level="info" additivity="false">
<AppenderRef ref="Console-Appender" />
</Logger>
<Root>
<AppenderRef ref="Console-Appender" />
</Root>
</Loggers>
</Configuration>

将参数Encoding作为UTF-8添加到您的log4j配置(log4j2.xml文件(中。

<param name="Encoding" value="UTF-8" />

我已将上述属性添加到您的配置中-

<Appenders>
<Console name="Console-Appender" target="SYSTEM_OUT">
<param name="Encoding" value="UTF-8" />
<PatternLayout>
<pattern>
[%-5level] %d{MM-dd HH:mm:ss.SSS} [%t] [%c{1} - %msg%n
</pattern>
</PatternLayout>
</Console>
</Appenders>

您可以在这里找到不同配置的完整示例-https://docs.oracle.com/cd/E10301_01/doc.1013/e10292/logging.htm

最新更新