Я использую Serilog с asp. net core 3.1.5
Func<LogEvent, bool> debugInfoRangeFilter = e => e.Level == LogEventLevel.Debug || e.Level == LogEventLevel.Information;
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Logger(c => c.Filter.ByIncludingOnly(debugInfoRangeFilter)
.WriteTo.Async(a =>
{
a.File($"{AppDomain.CurrentDomain.BaseDirectory}\\Logs\\log.txt",
rollOnFileSizeLimit: true,
retainedFileCountLimit: 10,
fileSizeLimitBytes: 10 * 1024 * 1024); // 10MB
}))
.WriteTo.Logger(c => c.Filter.ByExcluding(debugInfoRangeFilter)
.WriteTo.Async(a =>
{
a.File($"{AppDomain.CurrentDomain.BaseDirectory}\\Logs\\error.txt",
rollOnFileSizeLimit: true,
retainedFileCountLimit: 10,
fileSizeLimitBytes: 10 * 1024 * 1024); // 10MB
}))
.CreateLogger();
У меня проблема в том, что записи журнала отладки не записываются в файл log.txt. Я нигде их не вижу, тогда как все остальные уровни успешно записаны.
Я называю это
logger.LogDebug("Log Debug");
logger.LogInformation("Log Info");
Log Info
записывается в журнал. Txt Log.Debug
там нет. Кто-нибудь знает, что я делаю не так?
Обновление №1:
<ItemGroup>
<PackageReference Include="Serilog" Version="2.9.0" />
<PackageReference Include="Serilog.Extensions.Logging" Version="3.0.1" />
<PackageReference Include="Serilog.Settings.Configuration" Version="3.1.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="1.4.0" />
<PackageReference Include="Serilog.Sinks.File" Version="4.1.0" />
</ItemGroup>