首页新闻找找看学习计划

.NET Core 中 Serilog Override 配置不起作用

0
悬赏园豆:30 [已解决问题] 解决于 2019-04-18 21:49

在 appsettings.json 中进行了如下的配置,想通过 Override 配置显示 EntityFrameworkCore 的 debug 日志,但并没有对 RollingFile 日志文件起作用,请问如何解决?

"Serilog": {
  "Using": [ "Serilog.Sinks.RollingFile"],
  "MinimumLevel": "Warning",
  "Override": {
      "Microsoft.EntityFrameworkCore": "Debug"
  },
  "WriteTo": [
    {
      "Name": "RollingFile",
      "Args": {
        "pathFormat": "logs/log-{Date}.log"
      }
    }
  ]
}
dudu的主页 dudu | 高人七级 | 园豆:39106
提问于:2019-04-18 18:44
< >
分享
最佳答案
0

需要在 writeTo 节点下 Args 中配置 restrictedToMinimumLevelDebug才能记录下,如果不设置默认是Warning

"Serilog":  {
    "Using": [ "Serilog.Sinks.RollingFile" ],
    "MinimumLevel": {
      "Default": "Warning",
      "Override": {
        "Microsoft.EntityFrameworkCore": "Debug"
      }
    },
    "WriteTo": [
      {
        "Name": "RollingFile",
        "Args": {
          "restrictedToMinimumLevel": "Debug",
          "pathFormat": "logs/log-{Date}.log",
        }
      },
    ]
  }
收获园豆:30
hellotim | 小虾三级 |园豆:1491 | 2019-04-18 19:30

试过了,这样也不行,restrictedToMinimumLevelDefault 有效,对 Override 无效

dudu | 园豆:39106 (高人七级) | 2019-04-18 20:58

@dudu: 这样修改是可以记录下来的,已测试。MinimumLevel块配置是这样的:

{
  ....
  "MinimumLevel": {
      "Default": "Warning",
      "Override": {
        "Microsoft.EntityFrameworkCore": "Debug"
      }
    },
  ...
}
hellotim | 园豆:1491 (小虾三级) | 2019-04-18 21:40

@hellotim: 是我把 "Override" 放错地方了

dudu | 园豆:39106 (高人七级) | 2019-04-18 21:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册