gpt4 book ai didi

c# - 如何关闭Serilog?

转载 作者:太空狗 更新时间:2023-10-29 18:08:12 25 4
gpt4 key购买 nike

我们使用 Serilog 通过 Windows 服务将项目记录到数据库中,并且用户希望能够进行手动运行,因此我们制作了一个按钮(在网页上)来调用相同的代码(作为一个模块,而不是服务本身)。

当我们添加代码来初始化日志时,代码将继续添加到数据库日志表中,它还会记录之后的所有 http 流量。因此,在这段代码运行之后,我们想要“关闭”在 Web 服务器上运行的 Logger。有没有简单的方法可以做到这一点?

Log.Logger = new LoggerConfiguration()
.WriteTo.MSSqlServer(ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString,
"LOGS")
.CreateLogger();

最佳答案

可以在运行时使用 LoggingLevelSwitch 修改日志级别:

var ls = new LoggingLevelSwitch();

Log.Logger = new LoggerConfiguration()
.MinimumLevel.ControlledBy(ls)
.WriteTo.MSSqlServer(...)
.CreateLogger();

日志记录最初将处于信息级别,您可以通过开关更改它。

Serilog 没有定义 Off 级别,但您可以将其近似为:

ls.MinimumLevel = ((LogEventLevel) 1 + (int) LogEventLevel.Fatal);

...关闭注销。

关于c# - 如何关闭Serilog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30849166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com