org.log4mongo
Class MongoDbPatternLayout

java.lang.Object
  extended by org.apache.log4j.Layout
      extended by org.apache.log4j.PatternLayout
          extended by org.log4mongo.MongoDbPatternLayout
All Implemented Interfaces:
org.apache.log4j.spi.OptionHandler
Direct Known Subclasses:
HostInfoPatternLayout

public class MongoDbPatternLayout
extends org.apache.log4j.PatternLayout

PatternLayout that must be used or extended when logging with MongoDbPatternLayoutAppender.

Much of the PatternLayout functionality needed to be re-implemented, because double quotes and \ need to be escaped in the formatted String. The formatted String will later be parsed as a JSON document, so quotes in the values must be escaped.

Author:
Robert Stewart (robert@wombatnation.com)

Field Summary
 
Fields inherited from class org.apache.log4j.PatternLayout
BUF_SIZE, DEFAULT_CONVERSION_PATTERN, MAX_CAPACITY, TTCC_CONVERSION_PATTERN
 
Fields inherited from class org.apache.log4j.Layout
LINE_SEP, LINE_SEP_LEN
 
Constructor Summary
MongoDbPatternLayout()
           
MongoDbPatternLayout(java.lang.String pattern)
           
 
Method Summary
 org.apache.log4j.helpers.PatternParser createPatternParser(java.lang.String pattern)
           
 java.lang.String format(org.apache.log4j.spi.LoggingEvent event)
          Produces a formatted string as specified by the conversion pattern.
 java.lang.String getConversionPattern()
           
 void setConversionPattern(java.lang.String conversionPattern)
           
 
Methods inherited from class org.apache.log4j.PatternLayout
activateOptions, ignoresThrowable
 
Methods inherited from class org.apache.log4j.Layout
getContentType, getFooter, getHeader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MongoDbPatternLayout

public MongoDbPatternLayout()

MongoDbPatternLayout

public MongoDbPatternLayout(java.lang.String pattern)
Method Detail

setConversionPattern

public void setConversionPattern(java.lang.String conversionPattern)
Overrides:
setConversionPattern in class org.apache.log4j.PatternLayout

getConversionPattern

public java.lang.String getConversionPattern()
Overrides:
getConversionPattern in class org.apache.log4j.PatternLayout

createPatternParser

public org.apache.log4j.helpers.PatternParser createPatternParser(java.lang.String pattern)
Overrides:
createPatternParser in class org.apache.log4j.PatternLayout

format

public java.lang.String format(org.apache.log4j.spi.LoggingEvent event)
Produces a formatted string as specified by the conversion pattern.

The PatternConverter expects to append to a StringBuffer. However, for converters other than a LiteralPatternConverter, double quotes need to be escaped in the characters appended to the StringBuffer.

Overrides:
format in class org.apache.log4j.PatternLayout


Copyright © 2013. All Rights Reserved.