如何在appsettings中使用Serilog.Sink.MongoDB设置数据库名称?ASP. json.净(Bla



我已经设置了Serilog通过Serilog.Sinks.MongoDB写入MongoDB。

我使用appsettings.json作为我的配置(我的密码被XXXXXXX屏蔽):

{
"Name": "MongoDB",
"Args": {
"databaseUrl": "mongodb+srv://AtlasUser:XXXXXXX/test?retryWrites=true&w=majority&ssl=true",
"databaseName": "MyLogs",
"collectionName": "MyLoggerCollection",
"cappedMaxSizeMb": "1024",
"cappedMaxDocuments": "50000"
}

这将产生一个名为test的数据库和一个名为'MyLoggerCollection'的集合。

"databaseName": "MyLogs"似乎没有效果。

创建的数据库仍然命名为test(我猜是默认的?)。

如何设置数据库名称为MyLogs?

在连接字符串中指定数据库名称为test,这是使用的数据库名称的来源-而不是databaseName属性。

"databaseUrl"mongodb://用户名:password@ip:港* */dbName? authSource = admin"

这个应该可以工作:

{
"Name": "MongoDB",
"Args": {
"databaseUrl": "mongodb+srv://AtlasUser:XXXXXXX/MyLogs?retryWrites=true&w=majority&ssl=true",
"collectionName": "MyLoggerCollection",
"cappedMaxSizeMb": "1024",
"cappedMaxDocuments": "50000"
}

最新更新