配置log4net以根据日志级别写入不同的文件 [英] Configuring log4net to write to different files based on log level

查看:378
本文介绍了配置log4net以根据日志级别写入不同的文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在设置log4net,想在"debug.log"中编写调试消息,在"info.log"中编写信息消息,等等.

I'm setting up log4net and want to write debug messages in "debug.log", info messages in "info.log" and so on.

为此,我使用了多个附加器,例如:

To this end, I use several appenders, such as:

<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>

以及类似的INFO,WARN和ERROR级别.这行得通,但似乎需要做很多额外的工作,因为所有这些附加程序仅在阈值(调试或警告等)和文件名(debug.log或warn.log等)上有所不同

and similar ones for INFO, WARN and ERROR levels. This works ok, but seems like a lot of extra work, because all those appenders differ only on threshold value (debug or warn etc) and file name (debug.log or warn.log etc)

有没有更好的方法可以实现我的目标?也许像先声明基本附加程序"之类的东西.

Is there any better way to achieve my goal? Maybe something like declaring "base appenders" first.

(单独说明-如果在log4net中不可能,但是在NLog中是可能的,我也将不胜感激)

(on a separate note - if that's not possible in log4net but possible in NLog, I'd be grateful to know as well)

谢谢!

推荐答案

好的,这在log4net中是不可能的-只是想解决问题.

Ok, this is not possible in log4net - just wanted to close the question.

我虽然签出了NLog,但显然很简单(请参阅配置中的$level变量):

I checked out NLog though, and apparently it's quite easy there (see $level variable in the config):

<?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>

这篇关于配置log4net以根据日志级别写入不同的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆