我正在运行一个使用log4j进行日志记录的Storm集群。除了标准的基于文件的日志记录之外,我还想添加一个kafka appender。
我的log4j配置文件如下所示:
log4j.rootLogger=INFO, A1
log4j.appender.A1 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File = /var/log/storm/logs/${logfile.name}
log4j.appender.A1.Append = true
log4j.appender.A1.DatePattern = '.'yyy-MM-dd
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n
log4j.appender.KAFKA=kafka.producer.KafkaLog4jAppender
log4j.appender.KAFKA.Host=<kafka.ip>
log4j.appender.KAFKA.Port=9092
log4j.appender.KAFKA.Topic=storm_log
log4j.appender.KAFKA.SerializerClass=kafka.producer.DefaultStringEncoder
log4j.appender.KAFKA.layout=org.apache.log4j.PatternLayout
log4j.appender.KAFKA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n
log4j.logger.my.package.name=INFO, KAFKA
一切正常,除了kafka appender不使用定义的ConversionPattern,即使定义与文件appender完全相同,文件appender按预期工作。如何更改配置以使kafka appender正常工作?
答案 0 :(得分:1)
我遇到了与Kafka 0.7版相同的问题。
在版本0.7.1中对KafkaLog4jAppender进行了一些更改,升级后,ConversionPattern对我来说效果很好,配置类似于上面的配置。