org.apache.logging.log4j.nosql.appender.mongodb
Class MongoDbProvider

java.lang.Object
  extended by org.apache.logging.log4j.nosql.appender.mongodb.MongoDbProvider
All Implemented Interfaces:
NoSqlProvider<MongoDbConnection>

@Plugin(name="MongoDb",
        category="Core",
        printObject=true)
public final class MongoDbProvider
extends Object
implements NoSqlProvider<MongoDbConnection>

The MongoDB implementation of NoSqlProvider.


Method Summary
static MongoDbProvider createNoSqlProvider(String collectionName, String writeConcernConstant, String writeConcernConstantClassName, String databaseName, String server, String port, String username, String password, String factoryClassName, String factoryMethodName)
          Factory method for creating a MongoDB provider within the plugin manager.
 MongoDbConnection getConnection()
          Obtains a connection from this provider.
 String toString()
          All implementations must override Object.toString() to provide information about the provider configuration (obscuring passwords with one-way hashes).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getConnection

public MongoDbConnection getConnection()
Description copied from interface: NoSqlProvider
Obtains a connection from this provider. The concept of a connection in this case is not strictly an active duplex UDP or TCP connection to the underlying database. It can be thought of more as a gateway, a path for inserting objects that may use a persistent connection or may use HTTP web service calls, etc.

Where applicable, this method should return a connection from the connection pool as opposed to opening a brand new connection every time.

Specified by:
getConnection in interface NoSqlProvider<MongoDbConnection>
Returns:
a connection that can be used to create and persist objects to this database.
See Also:
NoSqlConnection

toString

public String toString()
Description copied from interface: NoSqlProvider
All implementations must override Object.toString() to provide information about the provider configuration (obscuring passwords with one-way hashes).

Specified by:
toString in interface NoSqlProvider<MongoDbConnection>
Overrides:
toString in class Object
Returns:
the string representation of this NoSQL provider.

createNoSqlProvider

@PluginFactory
public static MongoDbProvider createNoSqlProvider(@PluginAttribute(value="collectionName")
                                                                String collectionName,
                                                                @PluginAttribute(value="writeConcernConstant")
                                                                String writeConcernConstant,
                                                                @PluginAttribute(value="writeConcernConstantClass")
                                                                String writeConcernConstantClassName,
                                                                @PluginAttribute(value="databaseName")
                                                                String databaseName,
                                                                @PluginAttribute(value="server")
                                                                String server,
                                                                @PluginAttribute(value="port")
                                                                String port,
                                                                @PluginAttribute(value="username")
                                                                String username,
                                                                @PluginAttribute(value="password",sensitive=true)
                                                                String password,
                                                                @PluginAttribute(value="factoryClassName")
                                                                String factoryClassName,
                                                                @PluginAttribute(value="factoryMethodName")
                                                                String factoryMethodName)
Factory method for creating a MongoDB provider within the plugin manager.

Parameters:
collectionName - The name of the MongoDB collection to which log events should be written.
writeConcernConstant - The WriteConcern constant to control writing details, defaults to WriteConcern.ACKNOWLEDGED.
writeConcernConstantClassName - The name of a class containing the aforementioned static WriteConcern constant. Defaults to WriteConcern.
databaseName - The name of the MongoDB database containing the collection to which log events should be written. Mutually exclusive with factoryClassName&factoryMethodName!=null.
server - The host name of the MongoDB server, defaults to localhost and mutually exclusive with factoryClassName&factoryMethodName!=null.
port - The port the MongoDB server is listening on, defaults to the default MongoDB port and mutually exclusive with factoryClassName&factoryMethodName!=null.
username - The username to authenticate against the MongoDB server with.
password - The password to authenticate against the MongoDB server with.
factoryClassName - A fully qualified class name containing a static factory method capable of returning a DB or a MongoClient.
factoryMethodName - The name of the public static factory method belonging to the aforementioned factory class.
Returns:
a new MongoDB provider.


Copyright © 1999-2015 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.