log4j kafka appender不';不要使用定义的转换模式

log4j kafka appender不';不要使用定义的转换模式,log4j,apache-kafka,apache-storm,Log4j,Apache Kafka,Apache Storm,我正在运行一个Storm集群,它使用log4j进行日志记录。除了标准的基于文件的日志记录之外,我还想添加一个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

我正在运行一个Storm集群,它使用log4j进行日志记录。除了标准的基于文件的日志记录之外,我还想添加一个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
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.patternalyout
log4j.appender.A1.layout.ConversionPattern=%d{yyyyy-MM-dd HH:MM:ss}%c{1}[%p]%m%n
log4j.appender.KAFKA=KAFKA.producer.KafkaLog4jAppender
log4j.appender.KAFKA.Host=
log4j.appender.KAFKA.Port=9092
log4j.appender.KAFKA.Topic=storm\u log
log4j.appender.KAFKA.SerializerClass=KAFKA.producer.DefaultStringEncoder
log4j.appender.KAFKA.layout=org.apache.log4j.patternalyout
log4j.appender.KAFKA.layout.ConversionPattern=%d{yyyyy-MM-dd HH:MM:ss}%c{1}[%p]%m%n
log4j.logger.my.package.name=INFO,KAFKA

一切正常,除了kafka appender不使用已定义的转换模式,即使该定义与文件appender中的定义完全相同,而文件appender按预期工作。如何更改配置以使kafka appender正常工作?

我在kafka版本0.7中遇到了相同的问题

在版本0.7.1中对KafkaLog4jAppender做了一些更改,升级后,转换模式对我来说运行良好,配置类似于上面的配置