log4net中的多个日志文件 [英] Multiple log files in log4net

查看:80
本文介绍了log4net中的多个日志文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我想使用log4net将一些数据记录到多个日志文件中.我的App.cofing看起来像这样.

Hi all,

I want to log some data into multiple log files using the log4net. My App.cofing looks like this.

<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
	<param name="File" value="Results\Logs\log.txt" />
	<param name="AppendToFile" value="true" />
	<rollingStyle value="Size" />
	<maxSizeRollBackups value="1000" />
	<maximumFileSize value="20KB" />
	<staticLogFileName value="true" />
	<layout type="log4net.Layout.PatternLayout">
		<param name="ConversionPattern" value="[%d{yyyy-MM-dd hh:mm:ss}] - [%-5p] – %m%n" />
		</layout>
</appender>
<appender name="EventAppender" type="log4net.Appender.RollingFileAppender" >
	<param name="File" value="Results\Logs\events.txt" />
	<param name="AppendToFile" value="true" />
	<rollingStyle value="Size" />
	<maxSizeRollBackups value="1000" />
	<maximumFileSize value="20KB" />
	<staticLogFileName value="true" />
	<layout type="log4net.Layout.PatternLayout">
		<param name="ConversionPattern" value="[%d{yyyy-MM-dd hh:mm:ss}] - [%-5p] – %m%n" />
	</layout>
</appender>

<logger name="FirstLogger">
	<level value="ERROR" />
	<param value="ERROR" name="Threshold" />
	<appender-ref ref="LogFileAppender" />
</logger>

<logger name="SecondLogger">
	<level value="WARN" />
	<param value="WARN" name="Threshold" />
	<appender-ref ref="PnPUSBAppender" />
</logger>



然后,我想按以下方式记录数据.



Then I want to log data as follows.

protected static readonly ILog log = LogManager.GetLogger(typeof(TrackerLogger));

public void Looger(LoggerLevel level, Object objMsg)
        {
            log4net.Config.XmlConfigurator.Configure();

            switch (level)
            {
                case LoggerLevel.DEBUG:
                    log.Debug(objMsg);
                    break;
                case LoggerLevel.INFO:
                    log.Info(objMsg);
                    break;
                case LoggerLevel.WARN:
                    log.Warn(objMsg);
                    break;
                case LoggerLevel.ERROR:
                    log.Error(objMsg);
                    break;
                case LoggerLevel.FATAL:
                    log.Fatal(objMsg);
                    break;
                default:
                    log.Debug(objMsg);
                    break;
            }
            
        }



实际上,我想基于标志更改ILog对象.说在一种模式下,我想选择EventAppender,在另一种情况下,我想选择另一种.你们当中有人可以指导我吗?

在此先谢谢您.



Actually I want to change the ILog object based on a flag. Say in one mode I want to select EventAppender or in another case I want to select the other. Can anyone of you guide me on this?

Thanks in advance.

推荐答案

请参阅此CP文章,这可能对您有帮助
使用来自一个应用程序的多个log4net输出 [ ^ ]

谢谢
--RA
See this CP article, this may helps you
Use Multiple log4net Outputs from One Application[^]

Thanks
--RA


这篇关于log4net中的多个日志文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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