在我的应用程序中,我有一个单独的文件追加器用于错误和(信息和调试)。在生产中我只想记录错误并禁用信息和调试日志。考虑到性能,或者对性能不利,保持appender做到这一点的好方法
保留appender但将“root”标记内的日志级别值更改为WARN
<level value="WARN" />
<appender-ref ref="FILE.ERROR" />
<appender-ref ref="FILE.INFO" />
从“root”标记
中注释掉信息追加者<level value="WARN" />
<appender-ref ref="FILE.ERROR" />
<!--<appender-ref ref="FILE.INFO" />-->
我的逻辑说#2更好,因为如果我们保持启用它(如在#1中),Log4net将初始化appender,然后对于每个日志语句,它将比较日志语句中的日志级别与允许的日志级别。 appender然后决定是否记录。通过使用#2,我们可以避免这个循环和额外的执行,因为信息appender根本不会被初始化。
我的信息追加器将日志级别设置为
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="INFO" />
</filter>
我的问题是我从性能角度理解有效吗?或者,它对log4net并不重要,或者可能是log4net不会初始化信息appender,因为它的日志级别与根记录器级别不匹配。 WARN