Serilog.Sinks.MongoDB 7.0.0

dotnet add package Serilog.Sinks.MongoDB --version 7.0.0                
NuGet\Install-Package Serilog.Sinks.MongoDB -Version 7.0.0                
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="7.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Serilog.Sinks.MongoDB --version 7.0.0                
#r "nuget: Serilog.Sinks.MongoDB, 7.0.0"                
#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=7.0.0

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

mongo icon Serilog.Sinks.MongoDB

NuGet version Downloads Build status

A Serilog sink that writes events as documents to MongoDB.

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

Whats New

New in v7.x
  • Upgrade MongoDB.Driver to v3.0 - .NET Standard 2.0 support has been removed.
New in v6.x
  • Upgrade MongoDB.Driver to v2.28.0 (Thanks to Memoyu)
  • Add trace context to LogEntry (Thanks to fernandovmp)
New in v5.x
  • Output structured MongoDB Bson logs by switching to .MongoDBBson() extensions. Existing .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.

Installation

Install the sink via NuGet Package Manager Console:

Install-Package Serilog.Sinks.MongoDB

or via the .NET CLI:

dotnet add package Serilog.Sinks.MongoDB

Usage Examples

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.

Basic:

using Serilog;

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

log.Information("This is a test log message");

Capped Collection:

// 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();

Custom Mongodb Settings:

// 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 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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (49)

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

Package Downloads
TianCheng.Model

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

RG3.PF.Web.StartUsed

1、【核心业务使用包RG3.PF.Web.StartUsed】(可配置化,标准化,灵活配置,集成百度、腾讯、阿里、短信通等巨头接口,可脱离开发环境,集成nodejs中间件、统一认证中心) 2、以Rg3.开头且类继承 IService 或 IRepository的在Starup里面不用注入,案例如下 3、public class ListRepository : IRepository 4、public class ListService : IService 5、使用请到github获取 RG3.PF.WebApp.Host 6、Quartz集成redis订阅、Quartz 7、修复多引用CLDC 8、接入微信公众号wxconfig 9、Prometheus+Grafana https://doc.rg1008.com/docs/rg_pass_log/rg_pass_log-1dpcuns9s6r8c 10、Headers添加VerifyApiValue 用于验证 11、添加时间戳 Convert.ToInt64(DateTimePFUtil.ToTimestampSecond(this.Expires)); 12、版本记录:https://doc.rg1008.com/docs/rg_pass_log/rg_pass_log-1dpubsabl25v4 13、 20240815 升级到.netcore sdk 8.0

Basic.Logging.Serilog

Package Description

Atlas.Framework.Web

Package Description

uBeac.Logging.MongoDB

Easily implement logging with MongoDB in your .NET projects!

GitHub repositories (2)

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

Repository Stars
serilog-contrib/serilog-ui
Simple Serilog log viewer UI for several sinks.
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
7.0.0 79,988 5 months ago
6.0.0 66,341 6 months ago
5.4.1 272,228 2/18/2024
5.3.1 966,193 9/28/2022
5.2.2 6,904 9/26/2022
5.2.1 31,113 9/3/2022
5.2.1-tags-v5-2-0-0000 310 9/3/2022
5.2.0 787 9/3/2022
5.1.5 289,658 4/24/2022
5.1.2 168,173 1/19/2022
5.1.2-dev-00124 328 3/12/2022
5.1.2-dev-00123 562 1/19/2022
5.1.2-dev-00121 537 1/19/2022
5.1.1 250,344 9/25/2021
5.1.1-dev-00120 580 1/19/2022
5.1.1-dev-00119 526 1/19/2022
5.1.1-dev-00118 561 1/19/2022
5.1.1-dev-00116 389 9/25/2021
5.1.0-dev-00114 410 9/25/2021
5.0.0 78,409 9/2/2021
5.0.0-dev-00112 459 9/24/2021
5.0.0-dev-00111 484 9/12/2021
5.0.0-dev-00110 452 9/12/2021
5.0.0-dev-00109 417 9/2/2021
5.0.0-dev-00107 401 9/2/2021
5.0.0-dev-00105 698 8/1/2021
5.0.0-dev-00104 1,900 5/8/2021
5.0.0-dev-00103 470 5/7/2021
5.0.0-dev-00100 21,543 5/6/2021
5.0.0-dev-00099 468 5/6/2021
5.0.0-dev-00098 448 5/6/2021
5.0.0-dev-00097 828 5/6/2021
4.1.0 395,206 5/6/2021
4.1.0-dev-00096 466 5/6/2021
4.1.0-dev-00094 440 5/6/2021
4.1.0-dev-00084 10,521 10/21/2020
4.1.0-dev-00069 16,830 1/29/2019
4.0.0 1,627,264 11/9/2018
4.0.0-dev-00068 564 1/29/2019
4.0.0-dev-00064 659 11/9/2018
4.0.0-dev-00062 7,301 2/15/2018
4.0.0-dev-00060 1,080 11/30/2017
3.1.1-dev-00059 865 11/30/2017
3.1.0 501,142 11/1/2016
3.1.0-dev-00049 1,045 10/30/2016
3.1.0-dev-00046 1,500 10/7/2016
3.1.0-dev-00044 927 10/7/2016
3.1.0-dev-00042 926 10/5/2016
3.1.0-dev-00037 976 10/5/2016
3.1.0-dev-00035 960 9/9/2016
3.1.0-dev-00033 919 9/8/2016
3.0.0 2,873 8/9/2016
3.0.0-dev-00030 939 8/9/2016
3.0.0-dev-00029 910 8/9/2016
3.0.0-beta-24 1,336 4/26/2016
2.0.19 12,822 2/16/2016
2.0.18 1,241 2/16/2016
2.0.14 22,749 1/26/2016
2.0.13 4,272 7/26/2015
2.0.11 2,164 4/18/2015
2.0.8-pre 1,047 4/2/2015
2.0.7-pre 1,002 3/26/2015
2.0.6-pre 994 3/16/2015
2.0.3-pre 1,004 3/10/2015
2.0.1-pre 1,011 2/1/2015
2.0.0-beta-27 910 5/6/2016
1.4.139 1,968 1/23/2015
1.4.118 1,253 1/13/2015
1.4.113 1,374 1/6/2015
1.4.102 1,738 12/21/2014
1.4.99 1,643 12/18/2014
1.4.97 1,495 12/18/2014
1.4.76 1,585 12/8/2014
1.4.39 1,462 11/26/2014
1.4.34 1,419 11/24/2014
1.4.28 1,473 11/24/2014
1.4.27 1,491 11/23/2014
1.4.23 1,598 11/21/2014
1.4.21 1,485 11/21/2014
1.4.18 1,566 11/18/2014
1.4.15 2,523 11/4/2014
1.4.14 1,420 10/23/2014
1.4.13 1,293 10/23/2014
1.4.12 1,386 10/12/2014
1.4.11 1,330 10/8/2014
1.4.10 1,346 9/26/2014
1.4.9 1,427 9/17/2014
1.4.8 1,348 9/11/2014
1.4.7 1,386 9/1/2014
1.4.6 1,299 8/31/2014
1.4.5 1,458 8/27/2014
1.4.4 1,333 8/27/2014
1.4.3 1,437 8/25/2014
1.4.2 1,357 8/23/2014
1.4.1 1,337 8/23/2014
1.3.43 1,595 8/4/2014
1.3.42 1,366 7/30/2014
1.3.41 1,342 7/28/2014
1.3.40 1,278 7/26/2014
1.3.39 1,302 7/25/2014
1.3.36 1,312 7/20/2014
1.3.35 1,298 7/17/2014
1.3.34 1,981 7/6/2014
1.3.33 1,305 6/30/2014
1.3.30 1,361 6/19/2014
1.3.29 1,355 6/19/2014
1.3.28 1,297 6/19/2014
1.3.27 1,336 6/18/2014
1.3.25 1,370 6/9/2014
1.3.24 1,415 5/21/2014
1.3.23 1,319 5/20/2014
1.3.20 1,363 5/18/2014
1.3.19 1,305 5/17/2014
1.3.18 1,283 5/17/2014
1.3.17 1,290 5/17/2014
1.3.16 1,316 5/17/2014
1.3.15 1,306 5/16/2014
1.3.14 1,410 5/16/2014
1.3.13 1,305 5/16/2014
1.3.12 1,315 5/14/2014
1.3.7 1,331 5/11/2014
1.3.6 1,341 5/9/2014
1.3.5 1,327 5/6/2014
1.3.4 1,444 5/4/2014
1.3.3 1,521 4/28/2014
1.3.1 1,349 4/26/2014
1.2.53 1,371 4/26/2014
1.2.52 1,600 4/24/2014
1.2.51 1,531 4/18/2014
1.2.50 1,472 4/18/2014
1.2.49 1,468 4/17/2014
1.2.48 1,449 4/14/2014
1.2.47 1,558 4/14/2014
1.2.45 1,599 4/13/2014
1.2.44 1,502 4/9/2014
1.2.41 1,439 4/7/2014
1.2.40 1,427 4/7/2014
1.2.39 1,394 3/29/2014
1.2.37 1,421 3/29/2014
1.2.29 1,435 3/16/2014
1.2.26 1,348 3/12/2014
1.2.25 1,393 2/20/2014
0.9.9 1,507 11/23/2013
0.9.1 1,482 8/24/2013
0.8.5 1,508 7/22/2013
0.8.1 1,551 7/9/2013
0.7.2 1,558 7/6/2013
0.6.1 1,505 6/13/2013
0.5.2 1,456 5/27/2013
0.5.1 1,457 5/26/2013
0.4.3 1,464 5/25/2013
0.3.2 1,422 5/19/2013
0.3.1 1,401 5/19/2013
0.2.10 1,458 5/13/2013
0.2.9 1,387 5/10/2013
0.2.7 1,366 5/8/2013
0.2.6 1,445 5/8/2013
0.2.5 1,420 5/7/2013
0.2.1 1,460 4/8/2013
0.1.18 1,468 4/6/2013
0.1.17 1,409 4/4/2013
0.1.16 1,439 4/3/2013
0.1.12 1,463 4/1/2013
0.1.11 2,761 3/30/2013

v7.0 - Upgraded to MongoDB.Driver to version 3.0 fixing incompatibilities.