在生产环境中启用/禁用Enterprise Library日志记录

4
在我的生产环境中,我不希望有严重程度为Verbose(或Debug)的日志条目。我只需要信息、错误等。启用和禁用日志记录(调试条目)的正确方法是什么?
我进行了一些研究,一种可能性是使用自定义过滤器类来启用和禁用所有具有“verbose”严重程度的日志。但是,在部署应用程序到生产环境时,什么是正确的启用和禁用方式?
3个回答

5
您不必使用自定义筛选器。假设您已经定义了一个类别,那么您只需要设置要记录的严重程度或源级别。听起来您想将SourceLevel设置为Information,这会“允许关键、错误、警告和信息事件通过”。
在配置文件中,这看起来像是:
<categorySources>
    <add switchValue="Information" name="General">
        <listeners>
            <add name="Formatted EventLog TraceListener" />
        </listeners>
    </add>
</categorySources>

在最佳实践方面,没有一种正确的方法。通常情况下,您可能会启用尽可能少的信息记录以适当地支持应用程序。这将取决于您在应用程序中放置的日志类型。对于大多数应用程序,这可能是“信息”或“警告”。但是,其他因素可能会影响此操作,包括当前应用程序稳定性、运营要求等。


2
可能的过滤细节在http://www.thejoyofcode.com/Log_Event_to_Listener_Routing_in_Enterprise_Library.aspx中有详细描述。 - Michael Freidgeim
@MichaelFreidgeim,我喜欢这个图表——它很容易看出流程。 - Randy Levy
请注意,在“categorySources”中的“add”元素中的“name”属性并不是用来保存要添加的categorySource的名称,而是用来保存它将从哪个类别路由事件条目的类别名称。例如,上面的示例中,“General”是一个类别的名称,而不是categorySource的名称。 - Scott Munro

3

你可以在配置文件中设置日志级别,这样,在生产环境中如果需要的话,你随时可以打开它。


1
这肯定不是唯一的方法。但它非常普遍。在每个环境中自动应用配置更改的方式是最佳实践。手动更改配置值不是最好的做法,但在web.config文件中根据环境更改值的想法是完全有效的解决方案。 - Jon Adams
你能解释一下自动应用配置更改的方式吗?我正在寻找一种方法来启用和禁用已部署应用程序的“DEBUG”日志记录。当出现问题时,添加新的补丁,我们需要在几个小时内保持DEBUG状态。 - Abdel Raoof Olakara

0

你可以在 web.config.release 和 web.config.debug 文件中设置不同的级别。你可以在这里了解更多。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接