c# - Serilog 不记录调试日志
问题描述
我正在使用带有 asp.net core 3.1.5 的 Serilog
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
写入log.txtLog.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>
解决方案
推荐阅读
- angular - ng2-smart-table 分别禁用操作按钮
- php - ORA-01722: 无效数字,SQL in 子句
- javascript - 将 jQuery 数组与每个(函数)合并
- python - Azure 使用详情计费 API
- android - 如何在首次运行时预填充 Room 数据库?
- visual-studio - 将 xamarin.forms 更新到最新版本后,我的项目停止调试
- javascript - 如何阻止 Google Charts 为单个图表创建两个 SVG?
- angular - 如何从父组件调用子组件的功能
- eclipse - Eclipse/IntelliJ Userlib (Gloop) 加载导致红屏,BlueJ 没有
- sails.js - 使用 Sails.js 的可选文件上传