Mam dziwny problem, w którym log4j poprawnie wyświetla wszystkie moje komunikaty dziennika w konsoli, ale wysyła tylko komunikaty dziennika do mojego serwera graylog, których nie piszę (np. Biblioteka, której używam, która zapisuje do log.info
pojawi się w graylogu, ale nie w żadnej wiadomości, którą piszę za pomocą log.info
). Czego mi brakuje
Oto mój 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>
Tworzę wystąpienie mojego dziennika, wykonując:
private static final Logger logger = LogManager.getLogger(MyClass.class);
I pisząc do mojego dziennika:
logger.info("WHY CAN'T I SEE THIS IN MY GRAYLOG SERVER");
1 odpowiedź
Edytuj: Określasz, że rejestratory pakietu com.test
powinny pisać tylko do dodatku stdout
.
<logger name="com.test" level="info" additivity="false">
<appender-ref ref="stdout" />
</logger>
Powinieneś to zmienić na:
<logger name="com.test" level="info" />
Upewnij się, że używasz aplikacji z profilem pasującym do Twojego appendera gelf.
Podobne pytania
Nowe pytania
java
Java to język programowania wysokiego poziomu. Użyj tego tagu, jeśli masz problemy z używaniem lub zrozumieniem samego języka. Ten tag jest rzadko używany samodzielnie i jest najczęściej używany w połączeniu z [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] i [maven].