gpt4 book ai didi

c# - 为产品发布禁用 Serilog

转载 作者:行者123 更新时间:2023-11-30 17:41:43 35 4
gpt4 key购买 nike

缺少任何已定义的接收器是否是禁用 Serilog 的正确方法?

我确实看到了这个问题:

How to turn off Serilog?

但我更多的是关于如何在发布产品时配置 Serilog,以便在使用产品时默认不创建日志文件,并且对 Serilog 的调用尽可能少的开销。

我们使用应用程序/网络配置文件配置 Serilog,因此在调试版本中它看起来像这样:

<add key="serilog:minimum-level" value="Verbose" />
<add key="serilog:write-to:RollingFile.pathFormat"
value="%ProgramData%\Product\debug\AppName-{Date}.log" />
<add key="serilog:write-to:RollingFile.retainedFileCountLimit" value="10" />

这些行是这样处理的:

new LoggerConfiguration().ReadFrom.AppSettings()...

当我们生成应用程序/网络配置文件以随产品一起发布时,是否足以从配置文件中删除任何接收器以有效禁用 Serilog?

我想我想知道是否存在某种“关闭”设置,以便调用 Serilog 所做的第一件事是“如果(关闭)返回;”,或者类似的东西?或者缺少任何定义的汇基本上是同一件事?我的目标是配置一些东西,以便在我们“禁用”日志记录时,对 Serilog 的所有调用都尽可能快。

最佳答案

最好的选择就是什么都不做;根本不要创建 LoggerConfiguration 或分配 Log.Logger。这将导致所有 Log 方法做尽可能少的工作。

如果您需要一个 ILogger,只需获取 Log.Logger 并将其传递给周围 - 默认情况下它也不会执行任何操作,除非您已为其分配了一些内容。

关于c# - 为产品发布禁用 Serilog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32652210/

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