Mostrar solo registros de nivel debug en Serilog
Quiero mostrar solo los registros del nivel de depuración (debug), pero ninguno de los otros niveles, ya sea por debajo o por encima del nivel de depuración.
Además, quiero hacerlo en la configuración en el archivo appsettings.json, no en la clase de inicio.
Aquí está mi archivo appsettings.json:
"Serilog": {
"MinimumLevel": {
"Default": "Debug",
"Override": {
"System": "Debug",
"Microsoft": "Debug"
}
},
"WriteTo": [
{
"Name": "Seq",
"Args": {
"serverUrl": "http://localhost:5341/",
"compact": true
}
},
{
"Name": "Console"
},
{
"Name": "File",
"Args": {
"path": "D:\\dev.SmartCity.Peafowls.Logs\\PeafowlsLog_.txt",
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] [{SourceContext}] [{EventId}] {Message}{NewLine}{Exception}",
"rollingInterval": "Day",
"rollOnFileSizeLimit": true,
"fileSizeLimitBytes": 4194304
}
}
],
"Enrich": [ "FromLogContext" ]
}
davy.ai
Para mostrar solo el nivel de depuración de los registros en el archivo appsettings.json, es necesario agregar un filtro a la configuración de Serilog. Aquí hay una versión modificada del archivo appsettings.json que configura Serilog para solo mostrar los registros con el nivel “Debug”:
En el sink “File”, hemos agregado una configuración de “Filter” que especifica incluir únicamente los registros con nivel “Debug” o superior. Esto se logra utilizando el filtro “ByIncludingOnly” con un “levelSwitch” configurado en “Debug”.
Con esta configuración, solo se mostrarán los registros con nivel “Debug” en los destinos de archivo, consola y Seq. Se ignorarán los demás niveles.