我的 .net core 应用程序基本配置上有 Serilog,如下所示:-
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(Configuration)
.Enrich.FromLogContext()
.WriteTo.File(@"./logs/log-.log", rollingInterval: RollingInterval.Day, outputTemplate: LOG_TEMPLATE)
.WriteTo.Console(outputTemplate: LOG_TEMPLATE, theme: AnsiConsoleTheme.Literate)
.WriteTo.SomeOtherLog()
.CreateLogger();
现在假设我希望根据条件写入 SomeOtherLog。人们会怎样做呢?
就像是
if(conditon)
.WriteTo.SomeOtherLog()
As of 串行日志2.9.0你现在可以使用.WriteTo.Conditional
并指定定义接收器是否被写入的条件。
Log.Information("Hello");
Log.CloseAndFlush();
var configuration = new LoggerConfiguration()
.ReadFrom.Configuration(Configuration)
.Enrich.FromLogContext()
.WriteTo.File(@"./logs/log-.log", rollingInterval: RollingInterval.Day,
outputTemplate: LOG_TEMPLATE)
.WriteTo.Console(outputTemplate: LOG_TEMPLATE, theme: AnsiConsoleTheme.Literate)
.WriteTo.Conditional(evt => condition, wt => wt.SomeOtherLog());
Log.Logger = configuration.CreateLogger();
// ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)