Serilog.Sinks.MongoDB 5.3.1

.NET Standard 2.0 .NET Framework 4.7.2
dotnet add package Serilog.Sinks.MongoDB --version 5.3.1
NuGet\Install-Package Serilog.Sinks.MongoDB -Version 5.3.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Serilog.Sinks.MongoDB" Version="5.3.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Serilog.Sinks.MongoDB --version 5.3.1
#r "nuget: Serilog.Sinks.MongoDB, 5.3.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Serilog.Sinks.MongoDB as a Cake Addin
#addin nuget:?package=Serilog.Sinks.MongoDB&version=5.3.1

// Install Serilog.Sinks.MongoDB as a Cake Tool
#tool nuget:?package=Serilog.Sinks.MongoDB&version=5.3.1

mongo icon Serilog.Sinks.MongoDB

Build status

A Serilog sink that writes events as documents to MongoDB.

Package - Serilog.Sinks.MongoDB | Platforms - .NET 4.7.2, .NET Standard 2.0,, .NET Standard 2.1

New in v5.x

  • Output structured MongoDB Bson logs by switching to the .MongoDBBson() extensions. Existing the .MongoDB() extensions will continue to work converting logs to Json and then to Bson.
  • Rolling Log Collection Naming (Thanks to Revazashvili for the PR!). MongoDBBson sink only.
  • Expire TTL support. MongoDBBson sink only.

Configuration

In the examples below, the sink is writing to the database logs with structured Bson. The default collection name is log, but a custom collection can be supplied with the optional CollectionName parameter. The database and collection will be created if they do not exist.

// use Bson structured logs
var log = new LoggerConfiguration()
    .WriteTo.MongoDBBson("mongodb://mymongodb/logs")
    .CreateLogger();

// capped collection using Bson structured logs
var log = new LoggerConfiguration()
    .WriteTo.MongoDBBson("mongodb://mymongodb/logs", cfg =>
    {
        // optional configuration options:
        cfg.SetCollectionName("log");
        cfg.SetBatchPeriod(TimeSpan.FromSeconds(1));

        // create capped collection that is max 100mb
        cfg.SetCreateCappedCollection(100);
    })
    .CreateLogger();

// create sink instance with custom mongodb settings.
var log = new LoggerConfiguration()
	.WriteTo.MongoDBBson(cfg =>
    {
		// custom MongoDb configuration
		var mongoDbSettings = new MongoClientSettings
		{
			UseTls = true,			
			AllowInsecureTls = true,
			Credential = MongoCredential.CreateCredential("databaseName", "username", "password"),
			Server = new MongoServerAddress("127.0.0.1")
		};

		var mongoDbInstance = new MongoClient(mongoDbSettings).GetDatabase("serilog");
		
		// sink will use the IMongoDatabase instance provided
		cfg.SetMongoDatabase(mongoDbInstance);
		cfg.SetRollingInternal(RollingInterval.Month);
    })
	.CreateLogger();

JSON (Microsoft.Extensions.Configuration)

Keys and values are not case-sensitive. This is an example of configuring the MongoDB sink arguments from Appsettings.json:

{
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Error",
        "System": "Warning"
      }
    },
    "WriteTo": [
      { 
      	"Name": "MongoDBBson", 
        "Args": { 
            "databaseUrl": "mongodb://username:password@ip:port/dbName?authSource=admin",
            "collectionName": "logs",
            "cappedMaxSizeMb": "1024",
            "cappedMaxDocuments": "50000",
            "rollingInterval": "Month"
        }
      } 
    ]
  }
}

Icon

MongoDB icon by Icons8

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 is compatible.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (29)

Showing the top 5 NuGet packages that depend on Serilog.Sinks.MongoDB:

Package Downloads
TianCheng.Model

实体对象基类,及其常用操作。 常用操作包括:对象转换、序列化、日志、常用异常处理、依赖注入。

Basic.Logging.Serilog

Package Description

uBeac.Logging.MongoDB

Easily implement logging with MongoDB in your .NET projects!

PegasusLoggingService

Package Description

Atlas.Framework.Web

Package Description

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on Serilog.Sinks.MongoDB:

Repository Stars
DevArchitecture/DevArchitecture
DevArchitecture Backend Project
keremvaris/Sennedjem
Sennedjem CQRS (Command Query Responsibility Segregation) yaklaşımını benimseyen ve SOLID prensiplerini ve Clean Architecture yöntemlerini odaklayan bir yazılım geliştirme alt yapısıdır. RabbitMq, ElasticSearch vb araçlara entegre olmak konusunda çok yeteneklidir.
Version Downloads Last updated
5.3.1 167,300 9/28/2022
5.2.2 2,317 9/26/2022
5.2.1 20,041 9/3/2022
5.2.1-tags-v5-2-0-0000 84 9/3/2022
5.2.0 465 9/3/2022
5.1.5 168,848 4/24/2022
5.1.2 105,908 1/19/2022
5.1.2-dev-00124 104 3/12/2022
5.1.2-dev-00123 156 1/19/2022
5.1.2-dev-00121 160 1/19/2022
5.1.1 190,462 9/25/2021
5.1.1-dev-00120 160 1/19/2022
5.1.1-dev-00119 160 1/19/2022
5.1.1-dev-00118 157 1/19/2022
5.1.1-dev-00116 193 9/25/2021
5.1.0-dev-00114 190 9/25/2021
5.0.0 56,854 9/2/2021
5.0.0-dev-00112 247 9/24/2021
5.0.0-dev-00111 258 9/12/2021
5.0.0-dev-00110 230 9/12/2021
5.0.0-dev-00109 197 9/2/2021
5.0.0-dev-00107 203 9/2/2021
5.0.0-dev-00105 430 8/1/2021
5.0.0-dev-00104 1,608 5/8/2021
5.0.0-dev-00103 247 5/7/2021
5.0.0-dev-00100 12,475 5/6/2021
5.0.0-dev-00099 251 5/6/2021
5.0.0-dev-00098 214 5/6/2021
5.0.0-dev-00097 605 5/6/2021
4.1.0 262,023 5/6/2021
4.1.0-dev-00096 233 5/6/2021
4.1.0-dev-00094 222 5/6/2021
4.1.0-dev-00084 9,732 10/21/2020
4.1.0-dev-00069 13,558 1/29/2019
4.0.0 1,277,350 11/9/2018
4.0.0-dev-00068 461 1/29/2019
4.0.0-dev-00064 549 11/9/2018
4.0.0-dev-00062 7,088 2/15/2018
4.0.0-dev-00060 908 11/30/2017
3.1.1-dev-00059 713 11/30/2017
3.1.0 421,914 11/1/2016
3.1.0-dev-00049 887 10/30/2016
3.1.0-dev-00046 1,305 10/7/2016
3.1.0-dev-00044 764 10/7/2016
3.1.0-dev-00042 769 10/5/2016
3.1.0-dev-00037 815 10/5/2016
3.1.0-dev-00035 794 9/9/2016
3.1.0-dev-00033 753 9/8/2016
3.0.0 2,471 8/9/2016
3.0.0-dev-00030 783 8/9/2016
3.0.0-dev-00029 757 8/9/2016
3.0.0-beta-24 1,168 4/26/2016
2.0.19 12,538 2/16/2016
2.0.18 1,051 2/16/2016
2.0.14 22,534 1/26/2016
2.0.13 4,054 7/26/2015
2.0.11 1,965 4/18/2015
2.0.8-pre 877 4/2/2015
2.0.7-pre 826 3/26/2015
2.0.6-pre 823 3/16/2015
2.0.3-pre 828 3/10/2015
2.0.1-pre 849 2/1/2015
2.0.0-beta-27 763 5/6/2016
1.4.139 1,732 1/23/2015
1.4.118 1,075 1/13/2015
1.4.113 1,174 1/6/2015
1.4.102 1,547 12/21/2014
1.4.99 1,457 12/18/2014
1.4.97 1,301 12/18/2014
1.4.76 1,394 12/8/2014
1.4.39 1,268 11/26/2014
1.4.34 1,221 11/24/2014
1.4.28 1,274 11/24/2014
1.4.27 1,288 11/23/2014
1.4.23 1,394 11/21/2014
1.4.21 1,278 11/21/2014
1.4.18 1,363 11/18/2014
1.4.15 2,328 11/4/2014
1.4.14 1,219 10/23/2014
1.4.13 1,090 10/23/2014
1.4.12 1,195 10/12/2014
1.4.11 1,125 10/8/2014
1.4.10 1,145 9/26/2014
1.4.9 1,203 9/17/2014
1.4.8 1,142 9/11/2014
1.4.7 1,186 9/1/2014
1.4.6 1,114 8/31/2014
1.4.5 1,278 8/27/2014
1.4.4 1,137 8/27/2014
1.4.3 1,240 8/25/2014
1.4.2 1,169 8/23/2014
1.4.1 1,126 8/23/2014
1.3.43 1,369 8/4/2014
1.3.42 1,164 7/30/2014
1.3.41 1,144 7/28/2014
1.3.40 1,072 7/26/2014
1.3.39 1,095 7/25/2014
1.3.36 1,114 7/20/2014
1.3.35 1,102 7/17/2014
1.3.34 1,348 7/6/2014
1.3.33 1,111 6/30/2014
1.3.30 1,160 6/19/2014
1.3.29 1,163 6/19/2014
1.3.28 1,100 6/19/2014
1.3.27 1,132 6/18/2014
1.3.25 1,184 6/9/2014
1.3.24 1,198 5/21/2014
1.3.23 1,113 5/20/2014
1.3.20 1,158 5/18/2014
1.3.19 1,119 5/17/2014
1.3.18 1,096 5/17/2014
1.3.17 1,094 5/17/2014
1.3.16 1,116 5/17/2014
1.3.15 1,117 5/16/2014
1.3.14 1,205 5/16/2014
1.3.13 1,107 5/16/2014
1.3.12 1,106 5/14/2014
1.3.7 1,132 5/11/2014
1.3.6 1,131 5/9/2014
1.3.5 1,123 5/6/2014
1.3.4 1,242 5/4/2014
1.3.3 1,322 4/28/2014
1.3.1 1,146 4/26/2014
1.2.53 1,163 4/26/2014
1.2.52 1,396 4/24/2014
1.2.51 1,316 4/18/2014
1.2.50 1,270 4/18/2014
1.2.49 1,249 4/17/2014
1.2.48 1,237 4/14/2014
1.2.47 1,347 4/14/2014
1.2.45 1,400 4/13/2014
1.2.44 1,292 4/9/2014
1.2.41 1,233 4/7/2014
1.2.40 1,220 4/7/2014
1.2.39 1,178 3/29/2014
1.2.37 1,216 3/29/2014
1.2.29 1,240 3/16/2014
1.2.26 1,157 3/12/2014
1.2.25 1,193 2/20/2014
0.9.9 1,282 11/23/2013
0.9.1 1,286 8/24/2013
0.8.5 1,320 7/22/2013
0.8.1 1,344 7/9/2013
0.7.2 1,344 7/6/2013
0.6.1 1,287 6/13/2013
0.5.2 1,252 5/27/2013
0.5.1 1,243 5/26/2013
0.4.3 1,246 5/25/2013
0.3.2 1,213 5/19/2013
0.3.1 1,180 5/19/2013
0.2.10 1,237 5/13/2013
0.2.9 1,179 5/10/2013
0.2.7 1,168 5/8/2013
0.2.6 1,239 5/8/2013
0.2.5 1,221 5/7/2013
0.2.1 1,245 4/8/2013
0.1.18 1,260 4/6/2013
0.1.17 1,212 4/4/2013
0.1.16 1,232 4/3/2013
0.1.12 1,259 4/1/2013
0.1.11 1,521 3/30/2013