首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用产品版本的Serilog

禁用产品版本的Serilog
EN

Stack Overflow用户
提问于 2015-09-18 20:36:28
回答 1查看 1.5K关注 0票数 3

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

我确实看到了这个问题:

How to turn off Serilog?

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

我们使用app/web配置文件来配置Serilog,所以在Debug版本中,它看起来像这样:

代码语言:javascript
复制
<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" />

这些行的处理方式如下:

代码语言:javascript
复制
new LoggerConfiguration().ReadFrom.AppSettings()...

当我们生成产品附带的app/web配置文件时,是否足以从配置文件中删除任何接收器以有效地禁用Serilog?

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

EN

回答 1

Stack Overflow用户

发布于 2015-09-21 06:06:25

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32652210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档