При настройке Serilog
с помощью файла конфигурации (с пакетом nuget Serilog.Settings.Configuration
) он не создает скользящий файл журнала при достижении предельного размера.
Как предложено в в этом вопросе и в этом выпуске , я использую Serlog.Sinks.File
(версия 4.0.0), но скользящий файл не создается.
Это мой конфигурационный файл Serilog appsettings.json
:
{
"Serilog": {
"Using": [
"Serilog.Sinks.File",
"Serilog.Sinks.Console"
],
"MinimumLevel": {
"Default": "Debug",
"Override": {
"Microsoft": "Warning",
"System": "Warning"
}
},
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "%LogPath%\\Logs\\log.txt",
"rollOnFileSizeLimit ": true,
"retainedFileCountLimit ": 20,
"rollingInterval": "Day",
"fileSizeLimitBytes": 10000
}
},
{
"Name": "Console"
}
],
"Enrich": [ "FromLogContext", "WithMachineName" ],
"Destructure": [
],
"Properties": {
}
}
}
Это код, который я говорю Serilog
для чтения из конфигурации:
//previous code ommited...
.ConfigureAppConfiguration((hostContext, configApp) =>
{
Environment.SetEnvironmentVariable("LogPath", AppDomain.CurrentDomain.BaseDirectory);
configApp.AddJsonFile("appsettings.json", optional: false);
configApp.AddEnvironmentVariables();
configApp.AddCommandLine(args);
})
.UseSerilog((hostingContext, loggerConfiguration) =>
{
loggerConfiguration
.ReadFrom.Configuration(hostingContext.Configuration);
.WriteTo.Console();
})
Когда размер файла достигает 10 КБ, он перестает расти, и новый файл журнала не создается.
Кстати, прокат по дням все еще работает.
Я также проверил, настроив Serilog
по коду, и он работает, так что я думаю, что это не связано с приемником ...
Это код, который работает
.UseSerilog((hostingContext, loggerConfiguration) =>
{
loggerConfiguration.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.File(path: Path.Combine(Environment.CurrentDirectory, "Logs", "log.txt"),
rollOnFileSizeLimit: true,
retainedFileCountLimit: 20,
rollingInterval: RollingInterval.Day,
fileSizeLimitBytes: 10000
)
.WriteTo.Console();
})
Так, как я мог заставить Serilog создавать скользящий файл, когда размер файла был достигнут файлом конфигурации?