有条件地单独禁用 Serilog 接收器 [英] Conditionally disable Serilog Sinks individually
本文介绍了有条件地单独禁用 Serilog 接收器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的 .net 核心应用程序基本配置上有 serilog,如下所示:-
I have serilog on my .net core app basic config as follows:-
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.怎么办?
Lets now say I wish to write to SomeOtherLog based on a condition. How would one go about that?
类似的东西
if(conditon)
.WriteTo.SomeOtherLog()
推荐答案
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);
if (condition)
{
configuration.WriteTo.SomeOtherLog();
}
Log.Logger = configuration.CreateLogger();
这篇关于有条件地单独禁用 Serilog 接收器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文