.net 命令log4net执行其appender
假设我在.log4net.config文件中有以下appender引用配置:.net 命令log4net执行其appender,.net,log4net,.net,Log4net,假设我在.log4net.config文件中有以下appender引用配置: <root> <level value="ALL"/> <appender-ref ref="ColoredConsoleAppender" /> <appender-ref ref="EventLogAppender"/> <appender-ref ref="RollingLogFileAppender" /> <appender
<root>
<level value="ALL"/>
<appender-ref ref="ColoredConsoleAppender" />
<appender-ref ref="EventLogAppender"/>
<appender-ref ref="RollingLogFileAppender" />
<appender-ref ref="MyCustomAppender" />
</root>
log4net是否在单个线程(即调用应用程序用于调用ILog.*方法的同一线程)上串行调用这些追加器。如果是这样,它调用每个appender的顺序是什么?是否按照元素中定义的顺序执行?根据这一点(在“自定义附加程序:添加目的地”一节中),log4net按照附加程序在配置文件中出现的顺序执行附加程序。此外,附加器也是同步执行的。我不知道作者是否是log4net专家,但这篇文章读起来已经足够好了。虽然我找不到链接中所述内容的任何独立确认,http://www.devx.com/dotnet/Article/32096/1954,无论是在log4net网站上,还是通过进一步的谷歌搜索,我已经根据文章更改了配置文件中附件的顺序,如下所示 也许根元素是需要排序的关键元素,因为我也改变了log4net元素中appender元素的顺序 我的理由是,在严重故障场景中,将日志记录到windows事件日志将比写入文件更成功(可以说它是更重要的信息?)
<log4net threshold="ALL">
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<!-- Make stuff go here -->
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<!-- Make stuff go here -->
</appender>
<root>
<appender-ref ref="EventLogAppender" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>