我遇到一个奇怪的问题,其中log4j可以在控制台上正确显示我的所有日志消息,但是仅将日志消息发送到我未编写的Graylog服务器(例如,我正在使用的库中写入{{ 1}}将显示在灰色日志中,但不会显示我用log.info
写的任何消息)。我想念什么
这是我的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);
答案 0 :(得分:1)
编辑:
您正在指定软件包com.test
的记录器仅应写入stdout
附加程序。
<logger name="com.test" level="info" additivity="false">
<appender-ref ref="stdout" />
</logger>
您应该将其更改为:
<logger name="com.test" level="info" />
确保您正在使用与Gelf Appender匹配的配置文件运行应用程序。