我已经设置了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"
}