如何解决log4j2.xml fluentd 错误,当 servlet 抛出 ex 日志被破坏转储错误事件:error_class=Fluent::Plugin::Parser::ParserError
我有一个用 docker 包装的 spring boot 应用程序,其中 fluentD 是日志代理,在 kibana 中查看时,我有时会收到这条奇怪的消息:
转储错误事件:error_class=Fluent::Plugin::Parser::ParserError 错误="模式与数据不匹配 'e","file":"FillInterest.java","line":103,"exact":true,"location":" ...
从 servlect 抛出错误时发生损坏的日志(在队列消耗等场景中,我可以看到它发生)
我还可以在这个发送给 kibana 的 JSON 中看到一个具有相同值的条目“错误”(条目日志的相同值,在查看flunetd.conf 后很容易理解)
我无法更改 fluentd 配置,因为它服务于许多其他应用程序,因此我需要更改 log4j2 ...
我已经为此苦苦挣扎了一段时间,如果有人能指出问题所在,那就太好了 有什么想法吗?
附上关于我的服务器的数据,以便更好地了解问题
我的 pom.xml 的一部分:
org.springframework.boot
spring-boot-starter-parent
2.3.4. 发布
...
FROM --platform=$BUILDPLATFORM alpine
...
<properties>
<java.version>11</java.version>
<spring-cloud.version>Hoxton.SR8</spring-cloud.version>
</properties>
另外我有 resources/log4j2-spring.xml :
<dependencies>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<!-- Configuring Spring Boot to use Log4j2 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<!-- log4j2 -->
和fluent的配置是:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<JsonLayout complete="false" compact="true" eventEol="true" properties="true">
<KeyValuePair key="userName" value="${ctx:userName}"/>
</JsonLayout>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。