gpt4 book ai didi

java - log4j 附加程序仅将我的消息发送到 stdout,但不发送远程 GELF 附加程序

转载 作者:行者123 更新时间:2023-11-30 05:52:24 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,log4j 在控制台上正确显示了我的所有日​​志消息,但仅将日志消息发送到我没有编写的graylog 服务器(例如,我正在使用的库写入 log.info 将显示在graylog 中,但不会显示我用log.info 编写的任何消息)。我错过了什么

这是我的logback-spring.xml

<configuration>
<contextName>test</contextName>
<jmxConfigurator/>

<springProfile name="dev, test">
<appender name="gelf" class="biz.paluch.logging.gelf.logback.GelfLogbackAppender">
<host>udp:localhost</host>
<port>5555</port>
<version>1.1</version>
<extractStackTrace>true</extractStackTrace>
<filterStackTrace>true</filterStackTrace>
<mdcProfiling>true</mdcProfiling>
<timestampPattern>yyyy-MM-dd HH:mm:ss,SSS</timestampPattern>
<maximumMessageSize>8192</maximumMessageSize>

<includeFullMdc>true</includeFullMdc>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
</springProfile>

<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
</Pattern>
</layout>
</appender>

<logger name="com.test" level="info" additivity="false">
<appender-ref ref="stdout" />
</logger>

<root level="INFO">
<appender-ref ref="gelf" />
<appender-ref ref="stdout" />
</root>

</configuration>

我通过执行以下操作来实例化我的日志:

 private static final Logger logger = LogManager.getLogger(MyClass.class);

并写入我的日志:

 logger.info("WHY CAN'T I SEE THIS IN MY GRAYLOG SERVER");

最佳答案

编辑:您指定包 com.test 的记录器应仅写入 stdout 附加程序。

<logger name="com.test" level="info" additivity="false">
<appender-ref ref="stdout" />
</logger>

您应该将其更改为:

<logger name="com.test" level="info" />
<小时/>

确保您正在使用与 gelf 附加程序相匹配的配置文件运行您的应用。

关于java - log4j 附加程序仅将我的消息发送到 stdout,但不发送远程 GELF 附加程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53676063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com