我们发现restrictedToMinimumLevel
属性存在于 Serilog 中,但它是否也支持最大级别属性?
之前我们已经使用过NLog
其具有最小和最大日志记录级别(https://github.com/NLog/NLog/wiki/Configuration-file#rules https://github.com/NLog/NLog/wiki/Configuration-file#rules).
我们想从以下位置登录debug to information
在控制台和information to warning
在文件和errors
到数据库。
我们可以使用 appsettings.json 来做到这一点吗?
我们正在使用 dotnet core 2.2。
任何帮助是极大的赞赏。
答案有点晚了,但我只是有同样的问题并找到了解决方案。也许这对像我这样的人会有帮助。
在这种情况下,子记录器与Serilog.Expressions
可以使用包。 Sublogger 是主记录器中的一个新记录器,您可以为其设置过滤规则。例如,这个配置说,Debug
and Information
日志将被写入控制台接收器,并且日志带有Information
and Warning
level 将被写入 SqlServer 接收器。
以下是表达语言的参考:https://github.com/serilog/serilog-expressions#language-reference https://github.com/serilog/serilog-expressions#language-reference.
JSON 配置将如下所示:
{
"Serilog": {
//... serilog config
"WriteTo": [
{
"Name": "Logger",
"Args": {
"configureLogger": {
"Filter": [
{
"Name": "ByIncludingOnly",
"Args": {
"expression": "@l in ['Debug', 'Information']"
}
}
],
"WriteTo": [
{
"Name": "Console",
"Args": {
//Console sink config
}
}
],
}
}
},
{
"Name": "Logger",
"Args": {
"configureLogger": {
"Filter": [
{
"Name": "ByIncludingOnly",
"Args": {
"expression": "@l in ['Information', 'Warning']"
}
}
],
"WriteTo": [
{
"Name": "MSSqlServer",
"Args": {
//MSSqlServer sink config
}
}
]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)