小编Ale*_*der的帖子

使用appsettings.json配置Serilog RollingFile

我正在尝试为.NET Core项目配置Serilog.这就是我的意思appsettings.json:

 "Serilog": 
{
    "MinimumLevel": "Verbose",
    "Enrich": ["FromLogContext", "WithMachineName", "WithProcessId", "WithThreadId"],
    "WriteTo": [
      { "Name": "RollingFile",
        "Args": {
          "pathFormat": "C:/Logfiles/testapp/log-{Date}.json",
          "textFormatter": "JsonFormatter",
          "fileSizeLimitBytes": 2147483648,
          "retainedFileCountLimit": 5
        }
      }
    ]
  }
Run Code Online (Sandbox Code Playgroud)

我看到的问题JsonFormatter是没有拾取,而是使用默认文本格式化程序获取条目.我尝试过使用"formatter": "JsonFormatter",但结果相同.

如果我在代码中配置Serilog,一切正常:

var jsonSink = new RollingFileSink(config["Logger:FilePath"], new JsonFormatter(), 2147483648, 5);

var logger = new Serilog.LoggerConfiguration().WriteTo.Sink(jsonSink);
Run Code Online (Sandbox Code Playgroud)

这是我的相关部分project.json:

"Serilog": "2.2.1",
"Serilog.Extensions.Logging": "1.1.0",
"Serilog.Sinks.Literate": "2.0.0",
"Serilog.Sinks.Seq": "2.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"Serilog.Enrichers.Thread": "2.0.0", …
Run Code Online (Sandbox Code Playgroud)

c# serilog .net-core

15
推荐指数
3
解决办法
2万
查看次数

标签 统计

.net-core ×1

c# ×1

serilog ×1