在 appsettings.json 中使用 Serilog,我在 sublogger 中的过滤器表达式不起作用
Using Serilog in appsettings.json, my filter expression in the sublogger is not working
我正在使用 serilog 根据命名空间将日志写入不同的文件。正在创建这两个文件,但未向 shopify.log 写入任何内容。我有两个要包含的命名空间,它们都包含字符串“Shopify”。我可以完全限定它们和模式匹配,但这也不起作用。
我正在使用 Serilog.Expressions 3.2.0
感谢任何帮助!
"WriteTo": [
{ "Name": "Console" },
{
"Name": "File",
"Args": {
"path": "Logs/system.log"
}
},
{
"Name": "Logger",
"Args": {
"configureLogger": {
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "Logs/shopify.log"
}
}
],
"Filter": [
{
"Name": "ByIncludingOnly",
"Args": {
"expression": "Contains(SourceContext, 'Shopify')"
}
}
]
}
}
}
],
我仍然不确定为什么 'Contains' 不起作用,但我将其更改为更多查询类型的表达式并且它起作用了。
"Filter": [
{
"Name": "ByIncludingOnly",
"Args": {
"expression": "SourceContext like '%shopify%' ci"
}
}
]
'ci'表示不区分大小写,所以也匹配Shopify。
我正在使用 serilog 根据命名空间将日志写入不同的文件。正在创建这两个文件,但未向 shopify.log 写入任何内容。我有两个要包含的命名空间,它们都包含字符串“Shopify”。我可以完全限定它们和模式匹配,但这也不起作用。
我正在使用 Serilog.Expressions 3.2.0
感谢任何帮助!
"WriteTo": [
{ "Name": "Console" },
{
"Name": "File",
"Args": {
"path": "Logs/system.log"
}
},
{
"Name": "Logger",
"Args": {
"configureLogger": {
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "Logs/shopify.log"
}
}
],
"Filter": [
{
"Name": "ByIncludingOnly",
"Args": {
"expression": "Contains(SourceContext, 'Shopify')"
}
}
]
}
}
}
],
我仍然不确定为什么 'Contains' 不起作用,但我将其更改为更多查询类型的表达式并且它起作用了。
"Filter": [
{
"Name": "ByIncludingOnly",
"Args": {
"expression": "SourceContext like '%shopify%' ci"
}
}
]
'ci'表示不区分大小写,所以也匹配Shopify。