Я пытаюсь настроить Serilog для проекта .NET Core. Вот что у меня в appsettings.json
:Настройка Serilog RollingFile с 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"
, но получил тот же результат.
Это все работает нормально, если настроить Serilog в коде:
var jsonSink = new RollingFileSink(config["Logger:FilePath"], new JsonFormatter(), 2147483648, 5);
var logger = new Serilog.LoggerConfiguration().WriteTo.Sink(jsonSink);
Вот соответствующий раздел из моих 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"
Любые указатели о том, как получить эту работу?
Спасибо!
Спасибо @Nicholas Blumhardt, к сожалению, я все равно получаю тот же результат ... Есть ли шанс добавить этот пример в документацию? – Alexander
Hi @Alexander - вы изменили имя параметра из 'textFormatter' в' formatter'? –
Да @Nicholas Blumhardt, вот как обновленная конфигурация выглядит следующим образом: { "Имя": "RollingFile", "Args": { "pathFormat": «C:/Logfiles/TestApp/лог- {Дата}. JSON», "форматировщик": "Serilog.Formatting.Json.JsonFormatter, Serilog", "fileSizeLimitBytes": 2147483648, "retainedFileCountLimit": 5} } – Alexander