0

我正在运行一个使用 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 中的定义完全相同,它按预期工作。我必须如何更改配置才能使 kafka appender 工作?

4

1 回答 1

1

我对 Kafka 0.7 版也有同样的问题。

在 0.7.1 版中对 KafkaLog4jAppender 进行了一些更改,升级后,ConversionPattern 对我来说可以正常工作,其配置类似于上述配置。

于 2012-12-20T22:58:47.910 回答