我正在设置 log4net 并希望在“debug.log”中写入调试消息,在“info.log”中写入信息消息等。
为此,我使用了几个附加程序,例如:
<appender name="DebugLogger" type="log4net.Appender.RollingFileAppender">
<file value="..\Logs\Debug.log" />
<threshold value="DEBUG" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
以及类似的信息、警告和错误级别。这工作正常,但似乎有很多额外的工作,因为所有这些附加程序仅在阈值(调试或警告等)和文件名(debug.log 或 warn.log 等)上有所不同
有没有更好的方法来实现我的目标?也许像首先声明“基本附加程序”之类的东西。
(单独说明 - 如果这在 log4net 中不可能,但在 NLog 中可能,我也很高兴知道)
Thanks!
好吧,这在 log4net 中是不可能的 - 只是想结束这个问题。
不过我检查了 NLog,显然这很容易(参见$level
配置中的变量):
<?xml version="1.0" encoding="utf-8" ?>
<nlog>
<variable name="logDirectory" value="${basedir}\..\Logs"/>
<targets>
<target name="file" type="File" fileName="${logDirectory}\${level}.log" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="file" />
</rules>
</nlog>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)