如何在Log4Net中配置特定例外的日志级别?在Log4Net中为特定例外设置日志级别(对于Episerver)
我们的应用程序目前在WARNING日志级别生成多个WebSocketException。但是,如果从WARNING更改为INFO,我们会改变它们以使我们的日志更具可读性。
该应用程序使用EPiServer Log4Net包,但配置应该相同。
这是可以从Log4Net进行配置,从.config文件进行配置,还是需要在代码中处理?
如何在Log4Net中配置特定例外的日志级别?在Log4Net中为特定例外设置日志级别(对于Episerver)
我们的应用程序目前在WARNING日志级别生成多个WebSocketException。但是,如果从WARNING更改为INFO,我们会改变它们以使我们的日志更具可读性。
该应用程序使用EPiServer Log4Net包,但配置应该相同。
这是可以从Log4Net进行配置,从.config文件进行配置,还是需要在代码中处理?
就过滤掉你不希望任何条目,因为WebSocketExceptions是不是很有趣:
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="WebSocketException" />
<acceptOnMatch value="false" />
</filter>
注意:Log4Net在使用StringMatchFilter时使用indexof,因此您可以查找部分字符串。请记住它是区分大小写的。
这看起来很完美!我们会放弃它,看看日志条目是否消失。 :) –
随着Log4Net这应该是像调用ILog信息而不是警告一样简单。
Logger.Info("message");
,而不是
Logger.warn("message");
根据您的设置它可能是值得做的变化在你的XML
<log4net>
<appender name="appenders_name">
... other settings
<root>
<level value="INFO" />
</root>
</appender>
</log4net>
这个问题推断这需要在配置(*如何配置日志记录级别*)而不是代码(但它不是明确的tbh) –
我最初寻找* .config *设置来控制日志记录水平 - 因为现在更新的问题应该更好地反映。不过谢谢你的回答。 –
你能澄清一下吗 - 你想改变你的记录器设置,以便它也*包括* INFO(“将其设置为INFO”),但这会使它*更少*可读。或者,您是否想要更改日志,以便将它们输出为info *而不是* warning(并因此排除,因为config仅警告)? –
您无法通过配置更改日志的输出(从警告到信息),这将需要更改代码。但是,您可以从输出中排除日志 - 但是日志通常是在类级别生成的,而不是每种异常类型的不同日志记录器。虽然log4net确实有一个很好的类层次结构(例如,您可以在名称空间或类级别切换) - 这一切都取决于代码中记录器的名称。 –
EPiServerLog.config中没有关于log4net配置的特定Episerver,因此标准文档适用于:https://logging.apache.org/log4net/release/manual/configuration.html –