Package org.apache.logging.log4j.couchdb
Class CouchDbProvider
- java.lang.Object
-
- org.apache.logging.log4j.couchdb.CouchDbProvider
-
- All Implemented Interfaces:
NoSqlProvider<CouchDbConnection>
@Plugin(name="CouchDB", category="Core", printObject=true) public final class CouchDbProvider extends java.lang.Object implements NoSqlProvider<CouchDbConnection>
The Apache CouchDB implementation ofNoSqlProvider.
-
-
Constructor Summary
Constructors Modifier Constructor Description privateCouchDbProvider(org.lightcouch.CouchDbClient client, java.lang.String description)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CouchDbProvidercreateNoSqlProvider(java.lang.String databaseName, java.lang.String protocol, java.lang.String server, java.lang.String port, java.lang.String username, java.lang.String password, java.lang.String factoryClassName, java.lang.String factoryMethodName)Factory method for creating an Apache CouchDB provider within the plugin manager.CouchDbConnectiongetConnection()Obtains a connection from this provider.java.lang.StringtoString()All implementations must overrideObject.toString()to provide information about the provider configuration (obscuring passwords with one-way hashes).
-
-
-
Field Detail
-
HTTP
private static final int HTTP
- See Also:
- Constant Field Values
-
HTTPS
private static final int HTTPS
- See Also:
- Constant Field Values
-
LOGGER
private static final Logger LOGGER
-
client
private final org.lightcouch.CouchDbClient client
-
description
private final java.lang.String description
-
-
Method Detail
-
getConnection
public CouchDbConnection getConnection()
Description copied from interface:NoSqlProviderObtains 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:
getConnectionin interfaceNoSqlProvider<CouchDbConnection>- Returns:
- a connection that can be used to create and persist objects to this database.
- See Also:
NoSqlConnection
-
toString
public java.lang.String toString()
Description copied from interface:NoSqlProviderAll implementations must overrideObject.toString()to provide information about the provider configuration (obscuring passwords with one-way hashes).- Specified by:
toStringin interfaceNoSqlProvider<CouchDbConnection>- Overrides:
toStringin classjava.lang.Object- Returns:
- the string representation of this NoSQL provider.
-
createNoSqlProvider
@PluginFactory public static CouchDbProvider createNoSqlProvider(@PluginAttribute("databaseName") java.lang.String databaseName, @PluginAttribute("protocol") java.lang.String protocol, @PluginAttribute(value="server",defaultString="localhost") @ValidHost java.lang.String server, @PluginAttribute(value="port",defaultString="0") @ValidPort java.lang.String port, @PluginAttribute("username") java.lang.String username, @PluginAttribute(value="password",sensitive=true) java.lang.String password, @PluginAttribute("factoryClassName") java.lang.String factoryClassName, @PluginAttribute("factoryMethodName") java.lang.String factoryMethodName)
Factory method for creating an Apache CouchDB provider within the plugin manager.- Parameters:
databaseName- The name of the database to which log event documents will be written.protocol- Either "http" or "https," defaults to "http" and mutually exclusive withfactoryClassName&factoryMethodName!=null.server- The host name of the CouchDB server, defaults to localhost and mutually exclusive withfactoryClassName&factoryMethodName!=null.port- The port that CouchDB is listening on, defaults to 80 ifprotocolis "http" and 443 ifprotocolis "https," and mutually exclusive withfactoryClassName&factoryMethodName!=null.username- The username to authenticate against the MongoDB server with, mutually exclusive withfactoryClassName&factoryMethodName!=null.password- The password to authenticate against the MongoDB server with, mutually exclusive withfactoryClassName&factoryMethodName!=null.factoryClassName- A fully qualified class name containing a static factory method capable of returning aCouchDbClientorCouchDbProperties.factoryMethodName- The name of the public static factory method belonging to the aforementioned factory class.- Returns:
- a new Apache CouchDB provider.
-
-