NLog.Mongo
5.0.0
dotnet add package NLog.Mongo --version 5.0.0
NuGet\Install-Package NLog.Mongo -Version 5.0.0
<PackageReference Include="NLog.Mongo" Version="5.0.0" />
paket add NLog.Mongo --version 5.0.0
#r "nuget: NLog.Mongo, 5.0.0"
// Install NLog.Mongo as a Cake Addin #addin nuget:?package=NLog.Mongo&version=5.0.0 // Install NLog.Mongo as a Cake Tool #tool nuget:?package=NLog.Mongo&version=5.0.0
NLog.Mongo
Writes NLog messages to MongoDB.
Download
The NLog.Mongo library is available on nuget.org via package name NLog.Mongo
.
To install NLog.Mongo, run the following command in the Package Manager Console
PM> Install-Package NLog.Mongo
More information about NuGet package avaliable at https://nuget.org/packages/NLog.Mongo
Configuration Syntax
<extensions>
<add assembly="NLog.Mongo"/>
</extensions>
<targets>
<target xsi:type="Mongo"
name="String"
connectionName="String"
connectionString="String"
collectionName="String"
cappedCollectionSize="Long"
cappedCollectionMaxItems="Long"
databaseName="String"
includeDefaults="Boolean">
<field name="String" layout="Layout" bsonType="Boolean|DateTime|Double|Int32|Int64|String" />
<property name="String" layout="Layout" bsonType="Boolean|DateTime|Double|Int32|Int64|String" />
</target>
</targets>
Parameters
General Options
name - Name of the target.
Connection Options
connectionName - The name of the connection string to get from the config file.
connectionString - Connection string. When provided, it overrides the values specified in connectionName.
databaseName - The name of the database, overrides connection string database.
Collection Options
collectionName - The name of the MongoDB collection to write logs to.
cappedCollectionSize - If the collection doesn't exist, it will be create as a capped collection with this max size.
cappedCollectionMaxItems - If the collection doesn't exist, it will be create as a capped collection with this max number of items. cappedCollectionSize must also be set when using this setting.
Document Options
includeDefaults - Specifies if the default document is created when writing to the collection. Defaults to true.
field - Specifies a root level document field. There can be multiple fields specified.
property - Specifies a dictionary property on the Properties field. There can be multiple properties specified.
includeEventProperties - Specifies if LogEventInfo Properties should be automatically included. Defaults to true.
Examples
Default Configuration with Extra Properties
NLog.config target
<target xsi:type="Mongo"
name="mongoDefault"
connectionString="mongodb://localhost/Logging"
collectionName="DefaultLog"
cappedCollectionSize="26214400">
<property name="ThreadID" layout="${threadid}" bsonType="Int32" />
<property name="ThreadName" layout="${threadname}" />
<property name="ProcessID" layout="${processid}" bsonType="Int32" />
<property name="ProcessName" layout="${processname:fullName=true}" />
<property name="UserName" layout="${windows-identity}" />
</target>
Default Output JSON
{
"_id" : ObjectId("5184219b545eb455aca34390"),
"Date" : ISODate("2013-05-03T20:44:11Z"),
"Level" : "Error",
"Logger" : "NLog.Mongo.ConsoleTest.Program",
"Message" : "Error reading file 'blah.txt'.",
"Exception" : {
"Message" : "Could not find file 'C:\\Projects\\github\\NLog.Mongo\\Source\\NLog.Mongo.ConsoleTest\\bin\\Debug\\blah.txt'.",
"Text" : "System.IO.FileNotFoundException: Could not find file 'C:\\Projects\\github\\NLog.Mongo\\Source\\NLog.Mongo.ConsoleTest\\bin\\Debug\\blah.txt' ...",
"Type" : "System.IO.FileNotFoundException",
"Source" : "mscorlib",
"MethodName" : "WinIOError",
"ModuleName" : "mscorlib",
"ModuleVersion" : "4.0.0.0"
},
"Properties" : {
"ThreadID" : 10,
"ProcessID" : 21932,
"ProcessName" : "C:\\Projects\\github\\NLog.Mongo\\Source\\NLog.Mongo.ConsoleTest\\bin\\Debug\\NLog.Mongo.ConsoleTest.exe",
"UserName" : "pwelter",
"Test" : "ErrorWrite",
"CallerMemberName" : "Main",
"CallerFilePath" : "c:\\Projects\\github\\NLog.Mongo\\Source\\NLog.Mongo.ConsoleTest\\Program.cs",
"CallerLineNumber" : "43"
}
}
Custom Document Fields
NLog.config target
<target xsi:type="Mongo"
name="mongoCustom"
includeDefaults="false"
connectionString="mongodb://localhost"
collectionName="CustomLog"
databaseName="Logging"
cappedCollectionSize="26214400">
<field name="Date" layout="${date}" bsonType="DateTime" />
<field name="Level" layout="${level}"/>
<field name="Message" layout="${message}" />
<field name="Logger" layout="${logger}"/>
<field name="Exception" layout="${exception:format=tostring}" />
<field name="ThreadID" layout="${threadid}" bsonType="Int32" />
<field name="ThreadName" layout="${threadname}" />
<field name="ProcessID" layout="${processid}" bsonType="Int32" />
<field name="ProcessName" layout="${processname:fullName=true}" />
<field name="UserName" layout="${windows-identity}" />
</target>
Custom Document Fields JSON output
{
"_id" : ObjectId("5187abc2545eb467ecce9184"),
"Date" : ISODate("2015-02-02T17:31:20.728Z"),
"Level" : "Debug",
"Message" : "Sample debug message",
"Logger" : "NLog.Mongo.ConsoleTest.Program",
"ThreadID" : 9,
"ProcessID" : 26604,
"ProcessName" : "C:\\Projects\\github\\NLog.Mongo\\Source\\NLog.Mongo.ConsoleTest\\bin\\Debug\\v4.5\\NLog.Mongo.ConsoleTest.exe",
"UserName" : "pwelter"
}
Custom Object Properties
NLog.config target
<target xsi:type="Mongo"
name="mongoCustomJsonProperties"
includeEventProperties="false"
connectionString="mongodb://localhost"
collectionName="CustomLog"
databaseName="Logging"
cappedCollectionSize="26214400">
<field name="Properties" bsonType="Object">
<layout type="JsonLayout" includeAllProperties="true" includeMdlc="true" maxRecursionLimit="10">
<attribute name="ThreadID" layout="${threadid}" encode="false" />
<attribute name="ProcessID" layout="${processid}" encode="false" />
<attribute name="ProcessName" layout="${processname:fullName=false}" />
</layout>
</field>
</target>
Custom Object Properties JSON output
{
"_id" : ObjectId("5184219b545eb455aca34390"),
"Date" : ISODate("2013-05-03T20:44:11Z"),
"Level" : "Error",
"Logger" : "NLog.Mongo.ConsoleTest.Program",
"Message" : "Error reading file 'blah.txt'.",
"Exception" : {
"Message" : "Could not find file 'C:\\Projects\\github\\NLog.Mongo\\Source\\NLog.Mongo.ConsoleTest\\bin\\Debug\\blah.txt'.",
"Text" : "System.IO.FileNotFoundException: Could not find file 'C:\\Projects\\github\\NLog.Mongo\\Source\\NLog.Mongo.ConsoleTest\\bin\\Debug\\blah.txt' ...",
"Type" : "System.IO.FileNotFoundException",
"Source" : "mscorlib",
"MethodName" : "WinIOError",
"ModuleName" : "mscorlib",
"ModuleVersion" : "4.0.0.0"
},
"Properties" : {
"ThreadID" : 10,
"ProcessID" : 21932,
"ProcessName" : "NLog.Mongo.ConsoleTest.exe",
"Product": { "Name": "Foo", "Id": 42 }
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
.NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- MongoDB.Driver (>= 3.1.0)
- NLog (>= 5.3.4)
-
.NETStandard 2.1
- MongoDB.Driver (>= 3.1.0)
- NLog (>= 5.3.4)
-
net6.0
- MongoDB.Driver (>= 3.1.0)
- NLog (>= 5.3.4)
NuGet packages (12)
Showing the top 5 NuGet packages that depend on NLog.Mongo:
Package | Downloads |
---|---|
Inaction
.net core 快速开发框架,请下载Inaction.Web |
|
Snow.Gqz.WebApi.Shared
1、升级至.NET6 2、.NET6代码格式整理 |
|
Snow.Gqz.Shared.WebApi
1、修复CPU占用率过高问题,_waitMillisecond 由3 调整为 1000。 2、caching模块代码优化调整 |
|
HuiBin.Shared.Webapi
Webapi基础类库 |
|
Adnc.Shared.WebApi
该层实现了认证、鉴权、异常捕获、服务组件注册等公共类和中间件。所有微服务WebApi层的共享层,并且都需要依赖该层。 |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on NLog.Mongo:
Repository | Stars |
---|---|
AlphaYu/adnc
.NET微服务/分布式开发框架,同时也适用于单体架构系统的开发。
|
|
danvic712/Grapefruit.VuCore
A front-background project using ASP.NET Core WebApi and Vue.js
|
Version | Downloads | Last updated |
---|---|---|
5.0.0 | 289 | 12/12/2024 |
4.7.2 | 15,988 | 5/28/2024 |
4.7.1 | 10,511 | 4/7/2024 |
4.7.0 | 44,192 | 7/29/2023 |
4.6.0.217 | 70,511 | 8/20/2022 |
4.6.0.191 | 149,023 | 1/19/2022 |
4.6.0.161 | 60,091 | 6/5/2021 |
4.6.0.146 | 17,681 | 3/31/2021 |
4.6.0.135 | 15,552 | 2/15/2021 |
4.6.0.123 | 108,973 | 10/26/2020 |
4.6.0.122 | 912 | 10/26/2020 |
4.6.0.118 | 26,439 | 10/5/2020 |
4.6.0.117 | 977 | 10/2/2020 |
4.6.0.102 | 131,131 | 7/2/2020 |
4.6.0.86 | 47,650 | 3/16/2020 |
4.6.0.68 | 112,381 | 12/18/2018 |
4.5.0.57 | 70,511 | 5/7/2018 |
4.4.0.55 | 24,284 | 3/22/2018 |
4.4.0.53 | 39,402 | 3/12/2017 |
4.0.0.43 | 21,759 | 4/19/2016 |
4.0.0.38 | 3,689 | 12/9/2015 |
4.0.0.35 | 1,850 | 11/12/2015 |
4.0.0.34 | 1,607 | 10/22/2015 |
4.0.0.33 | 1,681 | 9/24/2015 |
4.0.0.30 | 10,069 | 6/18/2015 |
3.2.0.28 | 3,453 | 4/9/2015 |
3.2.0.25 | 2,054 | 2/2/2015 |
3.2.0.24 | 1,862 | 1/5/2015 |
3.0.0.21 | 2,790 | 6/26/2014 |
3.0.0.20 | 1,710 | 6/11/2014 |
1.1.0.16 | 2,708 | 4/7/2014 |
1.1.0.15 | 4,028 | 10/30/2013 |
1.0.0.13 | 3,352 | 5/6/2013 |
1.0.0.11 | 1,991 | 5/6/2013 |