У меня есть этот фрагмент кода на c#, который очень хорошо выполняет свою работу. Каждый журнал, поступающий из CSPConsumersLayer, регистрируется в определенном c файле (ConsumerLog.txt), а все остальные журналы регистрируются в другом файле (Log.txt). Это конфигурация C#, которую я хочу достичь в настройках приложения. json
Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.Logger(lg => lg.Filter.ByIncludingOnly(Matching.FromSource(nameof(CSPConsumersLayer))).WriteTo.File(@"..\Logs\ConsumerLog.txt", LogEventLevel.Information, "{Timestamp:G} [{Level}] {ThreadId} {MachineName} {Message} {Exception}{NewLine}", rollOnFileSizeLimit: true, fileSizeLimitBytes: 104857600))
.WriteTo.Logger(lg => lg.Filter.ByExcluding(Matching.FromSource(nameof(CSPConsumersLayer))).WriteTo.File(@"..\Logs\Log.txt", LogEventLevel.Information, "{Timestamp:G} [{Level}] {User} {IP} {ThreadId} {MachineName} {SourceContext} {RequestId} {Message} {Exception}{NewLine}", rollOnFileSizeLimit: true, fileSizeLimitBytes: 104857600))
.CreateLogger();
И когда я пытаюсь преобразовать его в Json - как будто это не сработает
- Это JSON, который я придумал, но он не работает должным образом.
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"WriteTo": [
{ "Name": "Console" },
{
"Name": "Logger",
"Args": {
"configureLogger": {
"Filter": [
{
"Name": "ByIncludingOnly",
"Args": {
"expression": "StartsWith(SourceContext, 'CSPConsumersLayer')"
}
}
],
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "../Logs/ConsumerLog.log",
"outputTemplate": "{Timestamp:G} [{Level}] {User} {IP} {ThreadId} {MachineName} {SourceContext} {RequestId} {Message} {Exception}{NewLine}",
"rollOnFileSizeLimit": "true",
"fileSizeLimitBytes": 104857600
}
}
]
}
}
},
{
"Name": "Logger",
"Args": {
"configureLogger": {
"Filter": [
{
"Name": "ByExcluding",
"Args": {
"expression": "StartsWith(SourceContext, 'CSPConsumersLayer')"
}
}
],
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "../Logs/Log.log",
"outputTemplate": "{Timestamp:G} [{Level}] {User} {IP} {ThreadId} {MachineName} {SourceContext} {RequestId} {Message} {Exception}{NewLine}",
"rollOnFileSizeLimit": "true",
"fileSizeLimitBytes": 104857600
}
}
]
}
}
}
],
"Enrich": [
"FromLogContext",
"WithMachineName"
]
}