Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为产品发布禁用Serilog_C#_Config_Serilog - Fatal编程技术网

C# 为产品发布禁用Serilog

C# 为产品发布禁用Serilog,c#,config,serilog,C#,Config,Serilog,缺少任何定义的接收器是否是禁用Serilog的正确方法 我确实看到了这个问题: 但我的重点是在发布产品时如何配置Serilog,这样在默认情况下,在使用产品时就不会创建任何日志文件,并且对Serilog的调用具有尽可能小的开销 我们使用app/web config文件配置Serilog,因此在调试版本中,它看起来如下所示: <add key="serilog:minimum-level" value="Verbose" /> <add key="serilog:write-t

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

我确实看到了这个问题:

但我的重点是在发布产品时如何配置Serilog,这样在默认情况下,在使用产品时就不会创建任何日志文件,并且对Serilog的调用具有尽可能小的开销

我们使用app/web config文件配置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" />
当我们生成产品附带的app/web配置文件时,从配置文件中删除任何接收器是否足以有效禁用Serilog


我想我想知道是否有某种“off”设置,所以调用Serilog的第一件事就是“if(off)return;”,或者类似的东西?或者说缺乏任何定义的汇基本上是一样的吗?我的目标是进行配置,以便在“禁用”日志记录时,所有对Serilog的调用都尽可能快。

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


如果您需要一个
ILogger
,只需抓取
Log.Logger
并传递它-默认情况下它也不会做任何事情,除非您为它分配了一些内容。

并不能真正回答问题。用户必须如何处理app.config文件才能禁用记录器?
new LoggerConfiguration().ReadFrom.AppSettings()...