在使用log4net的wpf中,如何将异常和事件信息附加到一个附加程序并将数据附加到另一个附加程序 [英] In wpf using log4net, how can I append exception and event info to one appender and append data to another appender
问题描述
我正在构建一个wpf应用程序,以向嵌入式系统提供UI. UI将命令和查询发送到嵌入式系统. UI还定期从嵌入式系统读取数据.我正在使用log4net.
I am building a wpf app to provide a UI to an embedded system. The UI sends commands and queries to the embedded system. The UI also periodically reads data from the embedded system. I am using log4net.
我想将数据附加到一个RollingLogFileAppender并将异常,状态更改,事件等附加到另一个RollingLogFileAppender.我的搜索还没有找到任何东西.我该如何拆分日志记录?
I want to append the data to one RollingLogFileAppender and append exceptions, state changes, events, etc to a different RollingLogFileAppender. My searching has found nothing yet. How can I split the logging like this?
推荐答案
只需添加两个名称不同的滚动文件追加程序.在两者上都设置不同的级别过滤器.通过下面的配置,您可以执行此操作;
Just add two rolling file appenders, with different names. Set a different level filter on both. With the config below you can then do this;
log.Info("my data message"); // goes to data-log.txt
log.Warn("my warning"); // goes to error-log.txt
log.Error("error!"); // goes to error-log.txt
配置
<log4net>
<appender name="DataAppender" type="log4net.Appender.RollingFileAppender">
<file value="data-log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO"/>
<param name="LevelMax" value="INFO"/>
</filter>
</appender>
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<file value="error-log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="DataAppender" />
<appender-ref ref="ErrorAppender" />
</root>
</log4net>
这篇关于在使用log4net的wpf中,如何将异常和事件信息附加到一个附加程序并将数据附加到另一个附加程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!