I'm having trouble getting the KafkaLog4JAppender to honor my custom Log4J layout. Here is a snippet form my log4j.xml
<appender class="kafka.producer.KafkaLog4jAppender" name="kafka"> <param name="Host" value="localhost"/> <param name="Port" value="9092"/> <param name="Topic" value="my-topic"/> <layout class="org.apache.log4j.PatternLayout"> <param value="%d{ISO8601} %p %c{2} - %m%n" name="ConversionPattern"/> </layout> </appender> <logger name="my.package"> <level value="INFO"/> <appender-ref ref="kafka"/> </logger> I get the log messages in Kafka, but not with the property formatting. I checked out the Scala source and I see where it's checking for a layout: override def append(event: LoggingEvent) { val message : String = if( this.layout == null) { event.getRenderedMessage } else this.layout.format(event) LogLog.debug("[" + new Date(event.getTimeStamp).toString + "]" + message) val messageData : ProducerData[String, String] = new ProducerData[String, String](topic, message) producer.send(messageData); } I wonder if maybe it should be calling this.getLayout() instead just this.layout (maybe log4j is lazy loading things?) N.B., I've also tried the same config with a properties file to no avail. Any help is appreciated. -David