diff --git a/core/src/main/scala/kafka/producer/KafkaLog4jAppender.scala b/core/src/main/scala/kafka/producer/KafkaLog4jAppender.scala
index 88ae784..8adc3d4 100644
--- a/core/src/main/scala/kafka/producer/KafkaLog4jAppender.scala
+++ b/core/src/main/scala/kafka/producer/KafkaLog4jAppender.scala
@@ -87,15 +87,19 @@ class KafkaLog4jAppender extends AppenderSkeleton with Logging {
   }
 
   override def append(event: LoggingEvent)  {
-    val message : String = if( this.layout == null) {
-      event.getRenderedMessage
-    }
-    else this.layout.format(event)
+    val message = subAppend(event)
     LogLog.debug("[" + new Date(event.getTimeStamp).toString + "]" + message)
     val messageData = new KeyedMessage[String, String](topic, message)
     producer.send(messageData);
   }
 
+  def subAppend(event: LoggingEvent): String = {
+    if( this.layout == null) {
+      event.getRenderedMessage
+    }
+    else this.layout.format(event)
+  }
+
   override def close() {
     if(!this.closed) {
       this.closed = true
