The NLog.MongoDB20 target allows you to use a MongoDB instance as the persistence mechanism for NLog.
You can define which database and server to use, but by default a collection will be created for each "Logger" you use.
This version targets use by MongoDB.Driver 2.0 API
To install, place the binaries in your application bin and add the following configuration entries to your NLog configuration.
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<extensions>
<add assembly="NLog.MongoDB20"/>
</extensions>
<targets>
<target name="Mongo" type="MongoDB20" connectionName="ConnectionName" />
</targets>
<rules>
<logger name="*" minLevel="Info" appendTo="Mongo"/>
</rules>
</nlog>
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<extensions>
<add assembly="NLog.MongoDB20"/>
</extensions>
<targets>
<target name="Mongo" type="MongoDB20" connectionString="mongodb://mongo:db@server:12345/nlog" />
</targets>
<rules>
<logger name="*" minLevel="Info" appendTo="Mongo"/>
</rules>
</nlog>
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<extensions>
<add assembly="NLog.MongoDB20"/>
</extensions>
<targets>
<target name="Mongo" type="MongoDB20"
database="nlog"
host="server" port="12348"
username="mongo" password="password"/>
</targets>
<rules>
<logger name="*" minLevel="Info" appendTo="Mongo"/>
</rules>
</nlog>
Targets now support custom formatting. If you specify field nodes within the target node, the target will use your configured settings to store the log event.
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<extensions>
<add assembly="NLog.MongoDB20"/>
</extensions>
<targets>
<target name="Mongo" type="MongoDB20"
database="nlog"
host="server" port="12348"
username="mongo" password="password">
<field name="timestamp" layout="${date}" />
<field name="level" layout="${level}" />
<field name="message" layout="${message}" />
<field name="exception" layout="${exception}" />
</target>
</targets>
<rules>
<logger name="*" minLevel="Info" appendTo="Mongo"/>
</rules>
</nlog>
- Host (Defaults to 'localhost')
- Port (Defaults to 27017)
- Database(Defaults to 'NLog')
- Username
- Password
OR
- ConnectionString (a complete Mongo Url)
OR
- ConnectionName (the name configured in the configuration/connectionString node)
Also (optional)
- collectionName - the name of the Mongo collection. If you don't specify this, it uses the logger name.