看起来kafka-log4j-appender 0.9.0.1在向kafka发送消息时省略了可丢弃的信息。我正在使用以下配置:
log4j.rootLogger=INFO, stdout
log4j.logger.kafka=INFO, stdout
log4j.logger.com.doublev=INFO, KAFKA
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.KAFKA=org.apache.kafka.log4jappender.KafkaLog4jAppender
log4j.appender.KAFKA.layout=org.apache.log4j.PatternLayout
log4j.appender.KAFKA.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.KAFKA.brokerList=localhost:9092
log4j.appender.KAFKA.topic=logs
log4j.appender.KAFKA.syncSend=false
控制台中的输出示例:
ERROR [main] (App.java:21) - / by zero
java.lang.ArithmeticException: / by zero
at com.doublev.sls.test.App.main(App.java:19)
在Kafka那边,它收到:
ERROR [main] (App.java:21) - / by zero
2条答案
按热度按时间nafvub8i1#
对我有效的最终配置如下:
我也弄明白了为什么strack trace是为
ConsoleAppender
以及PatternLayout
. 可丢弃的信息由ConsoleAppender
前任-WriterAppender
:gg58donl2#
Kafka附录有相当广泛的设置。请参见以下内容:
也请使用
根据log4j java doc
patternlayout不处理loggingevents中包含的throwable。