1
我想生成一个只包含来自特定EventId(或EventIds)的日志输出的日志文件。是否支持这种功能?使用Microsoft.Extensions.Logging可以筛选单个EventID吗?
我想生成一个只包含来自特定EventId(或EventIds)的日志输出的日志文件。是否支持这种功能?使用Microsoft.Extensions.Logging可以筛选单个EventID吗?
如果您插入Serilog作为提供商,您可以继续通过Microsoft.Extensions.Logging进行日志记录,但应用Serilog的过滤来限制发送到日志文件的内容。
要做到这一点,你要使用以下的Serilog配置:
Log.Logger = new LoggerConfiguration()
.Filter.ByIncludingOnly("EventId.Id = 9")
.WriteTo.RollingFile("logs/log-{Date}.txt")
.CreateLogger();
(其中9
是任何你想要的事件ID包括。)
您可以Serilog插头https://github.com/serilog/serilog-aspnetcore,并编译这个例子你还需要安装Serilog.Sinks.RollingFile和Serilog.Filters.Expressions包。