使用 appsettings.json 配置 Serilog RollingFile [英] Configuring Serilog RollingFile with appsettings.json
问题描述
我正在尝试为 .NET Core 项目配置 Serilog.这是我在 appsettings.json
中的内容:
I'm trying to configure Serilog for a .NET Core project. Here's what I have in my 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
}
}
]
}
我看到的问题是 JsonFormatter
没有被选中,而是使用默认的文本格式化程序获取条目.我尝试使用 "formatter":"JsonFormatter"
,但得到了相同的结果.
The problem I see is that JsonFormatter
is not picked up, and instead I get entries using the default text formatter. I tried using "formatter": "JsonFormatter"
, but got the same result.
如果我在代码中配置 Serilog 一切正常:
It all works fine if I configure Serilog in code:
var jsonSink = new RollingFileSink(config["Logger:FilePath"], new JsonFormatter(), 2147483648, 5);
var logger = new Serilog.LoggerConfiguration().WriteTo.Sink(jsonSink);
这是我的 project.json
的相关部分:
Here is the relevant section of my 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",
"Serilog.Enrichers.Process": "2.0.0",
"Serilog.Sinks.ColoredConsole": "2.0.0",
"Serilog.Settings.Configuration": "2.2.0"
推荐答案
formatter
参数需要是完全限定的类型名称.试试:
The formatter
argument needs to be a fully-qualified type name. Try:
"formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog"
这篇关于使用 appsettings.json 配置 Serilog RollingFile的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!