ch.qos.logback.contrib.mongodb
Class MongoDBAppenderBase<E>

java.lang.Object
  extended by ch.qos.logback.core.spi.ContextAwareBase
      extended by ch.qos.logback.core.UnsynchronizedAppenderBase<E>
          extended by ch.qos.logback.contrib.mongodb.MongoDBAppenderBase<E>
All Implemented Interfaces:
ch.qos.logback.core.Appender<E>, ch.qos.logback.core.spi.ContextAware, ch.qos.logback.core.spi.FilterAttachable<E>, ch.qos.logback.core.spi.LifeCycle

public abstract class MongoDBAppenderBase<E>
extends ch.qos.logback.core.UnsynchronizedAppenderBase<E>

An abstract appender handling connection to MongoDB. Subclasses should implement toMongoDocument(Object).

Since:
0.1
Author:
Tomasz Nurkiewicz, Christian Trutz

Field Summary
 
Fields inherited from class ch.qos.logback.core.UnsynchronizedAppenderBase
name, started
 
Fields inherited from class ch.qos.logback.core.spi.ContextAwareBase
context
 
Constructor Summary
MongoDBAppenderBase()
           
 
Method Summary
protected  void append(E event)
          Inserts a new MongoDB document representing eventObject into MongoDB database.
 void setUri(String uri)
          A uri contains all MongoDB connection data.
 void start()
          If appender starts, create a new MongoDB connection and authenticate user.
 void stop()
          If appender stops, close also the MongoDB connection.
protected abstract  com.mongodb.BasicDBObject toMongoDocument(E event)
          Creates a new MongoDB document BasicDBObject from a logging event, containing all log data.
 
Methods inherited from class ch.qos.logback.core.UnsynchronizedAppenderBase
addFilter, clearAllFilters, doAppend, getCopyOfAttachedFiltersList, getFilterChainDecision, getName, isStarted, setName, toString
 
Methods inherited from class ch.qos.logback.core.spi.ContextAwareBase
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ch.qos.logback.core.spi.ContextAware
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, setContext
 

Constructor Detail

MongoDBAppenderBase

public MongoDBAppenderBase()
Method Detail

start

public void start()
If appender starts, create a new MongoDB connection and authenticate user. A MongoDB database and collection in setUri(String) is mandatory, username and password are optional.

Specified by:
start in interface ch.qos.logback.core.spi.LifeCycle
Overrides:
start in class ch.qos.logback.core.UnsynchronizedAppenderBase<E>

append

protected void append(E event)
Inserts a new MongoDB document representing eventObject into MongoDB database.

Specified by:
append in class ch.qos.logback.core.UnsynchronizedAppenderBase<E>
Parameters:
event - a logging event, containing all log data

toMongoDocument

protected abstract com.mongodb.BasicDBObject toMongoDocument(E event)
Creates a new MongoDB document BasicDBObject from a logging event, containing all log data.

Parameters:
event - a logging event, containing all log data
Returns:
a BasicDBObject to be inserted into MongoDB

stop

public void stop()
If appender stops, close also the MongoDB connection.

Specified by:
stop in interface ch.qos.logback.core.spi.LifeCycle
Overrides:
stop in class ch.qos.logback.core.UnsynchronizedAppenderBase<E>

setUri

public void setUri(String uri)
A uri contains all MongoDB connection data.

Parameters:
uri - a MongoDB URI


Copyright © 2012. All Rights Reserved.