我有一个容器化的 Spring Boot 应用程序。以下是我的 Spring Boot 应用程序的 logback.xml ,
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_PATH" value="logs" />
<appender name="STDOUT"
class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%d{dd-MM-yyyy HH:mm:ss.SSS} [%thread] %highlight(%-5level)
%cyan(%logger{36}) - %msg %n
</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
我正在将日志从该容器推送到 Fluentd,并进一步推送到 Loki。但是当我在 grafana loki 中看到日志时,我的日志中出现了以下垃圾字符。
您看到的是 ANSI 控制序列。它们用于控制台上的颜色编码。正如您所注意到的,Graphana 不支持 ANSI 颜色,因为它有其他方式来分隔不同的日志级别。 要删除 Graphana 中的多余字符,唯一的选择是关闭日志中的颜色编码。如果您想要或需要在本地日志中进行颜色编码,则必须配置两种不同的附加程序,一种用于本地日志(带颜色编码),另一种用于 Graphana(不带颜色编码)。