Estou usando o Quartz.NET no meu aplicativo web .NET e ele inunda os logs com a "Aquisição em lote de # gatilhos" que eu quero filtrar dos logs. Consegui fazer isso funcionar com o pacote Nuget obsoleto Serilog.Filters.Expressions 2.1.0
, mas agora quero ter o mesmo resultado com o novo Serilog.Expressions 5.0.0
. Infelizmente, a mesma configuração em appsettings.json não funciona. O que devo consertar aqui?
{
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File", "Serilog.Expressions" ],
"MinimumLevel": {
"Default": "Debug",
"Override": {
"Microsoft": "Warning",
"System": "Warning"
}
},
"Filter": [
{
"Name": "ByExcluding",
"Args": {
"expression": "Contains(@Message, 'Batch acquisition of')"
}
}
],
"WriteTo": [
{ "Name": "Console" },
{
"Name": "File",
"Args": {
"path": "Logs/log-.txt",
"rollingInterval": "Day"
}
}
],
"Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ]
}
}
Confira a referência de idioma:propriedades dos documentos do github. Você pode usar
@mt
or@m
:Por exemplo, o seguinte filtro:
filtrará a segunda chamada de registro:
Como o
"Contains(@m, 'Batch acquisition of')"
também.Projeto de reprodução completa @github