首页 新闻 会员 周边

Serilog 如何将指定的日志记录在专门的文件中

0
悬赏园豆:30 [已解决问题] 解决于 2023-01-14 21:21

在我们的 ASP.NET Core 应用中日志组件使用了 Serilog,为了便于跟踪问题,想把某些日志记录在专门的文件中,请问如何实现?

dudu的主页 dudu | 高人七级 | 园豆:31003
提问于:2023-01-14 17:17
< >
分享
最佳答案
0

通过 appsettings.json 中下面的 serilog 配置解决了

{
  "Serilog": {
    "WriteTo:Sublogger": {
      "Name": "Logger",
      "Args": {
        "configureLogger": {
          "Filter": [
            {
              "Name": "ByIncludingOnly",
              "Args": {
                "expression": "@m like '%unexpected hostname%'"
              }
            }
          ],
          "WriteTo": [
            {
              "Name": "File",
              "Args": {
                "path": "logs/unexpected-hostname-.log",
                "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level}] {Message:l}{NewLine}{RequestPath}{NewLine}{SourceContext}{NewLine}{Exception}",
                "rollingInterval": "Day",
                "retainedFileCountLimit": 7
              }
            }
          ]
        }
      }
    }
  }
}
dudu | 高人七级 |园豆:31003 | 2023-01-14 21:21

需要安装 nuget 包 Serilog.Expressions

dudu | 园豆:31003 (高人七级) | 2023-01-14 21:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册