[英]How can I set the database name using Serilog.Sink.MongoDB in appsettings.json in ASP.NET (Blazor)?
I have Serilog set up to write to MongoDB via Serilog.Sinks.MongoDB
.我将 Serilog 设置为通过 Serilog.Sinks.MongoDB 写入
Serilog.Sinks.MongoDB
。
I'm using appsettings.json
for my configuration ( with my password masked by XXXXXXX ):我正在使用
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"
}
This results in a database with the name test
and a collection called 'MyLoggerCollection'.这会生成一个名为
test
的数据库和一个名为“MyLoggerCollection”的集合。
"databaseName": "MyLogs"
seems to be taking no effect. "databaseName": "MyLogs"
似乎无效。
The database created is still named test
(I guess the default?).创建的数据库仍命名为
test
(我猜是默认值?)。
How can I set the database name to MyLogs
?如何将数据库名称设置为
MyLogs
?
You're specifying the database name as test
in your connection string, which is where the database name used comes from - not the databaseName
property.您在连接字符串中将数据库名称指定为
test
,这是使用的数据库名称的来源- 而不是databaseName
属性。
"databaseUrl": "mongodb://username:password@ip:port**/ dbName ?authSource=admin"`
“databaseUrl”:“mongodb://username:password@ip:port**/ dbName ?authSource=admin”`
This should work:这应该工作:
{
"Name": "MongoDB",
"Args": {
"databaseUrl": "mongodb+srv://AtlasUser:XXXXXXX/MyLogs?retryWrites=true&w=majority&ssl=true",
"collectionName": "MyLoggerCollection",
"cappedMaxSizeMb": "1024",
"cappedMaxDocuments": "50000"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.