Próbuję skonfigurować Serilog dla projektu .NET Core. Oto co mam w appsettings.json
:Konfigurowanie pliku Serilog RollingFile z 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
}
}
]
}
Problemem jest to, że widzę JsonFormatter
nie podniósł, a zamiast tego dostaję wpisy za pomocą domyślnego formatowania tekstu. Próbowałem użyć "formatter": "JsonFormatter"
, ale otrzymałem ten sam wynik.
To wszystko działa dobrze, jeśli mogę skonfigurować Serilog w kodzie:
var jsonSink = new RollingFileSink(config["Logger:FilePath"], new JsonFormatter(), 2147483648, 5);
var logger = new Serilog.LoggerConfiguration().WriteTo.Sink(jsonSink);
Oto odnośny fragment moich 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"
Wszelkie wskazówki, w jaki sposób uzyskać tej pracy?
Dzięki!
Dzięki @Nicholas Blumhardt, niestety nadal otrzymuję ten sam wynik ... Czy istnieje możliwość dodania tego przykładu do dokumentacji? – Alexander
Hi @Alexander - czy zmieniłeś nazwę parametru z 'textFormatter' na' formatter'? –
Tak @Nicholas Blumhardt, oto jak zaktualizowany config wygląda następująco: { "Nazwa": "RollingFile" "args": { "pathFormat": „C:/Logfiles/testapp/log- {data}. json”, "formater": "Serilog.Formatting.Json.JsonFormatter, Serilog" "fileSizeLimitBytes": 2147483648, "retainedFileCountLimit": 5 } } – Alexander