ロギングに log4j を使用する Storm クラスターを実行しています。標準のファイルベースのロギングに加えて、kafka アペンダーを追加したいと考えています。
私の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 アペンダーが定義された ConversionPattern を使用しないことを除いて、すべて正常に機能します。kafka アペンダーを機能させるには、どのように構成を変更する必要がありますか?