Log4net配置(多Appender和Logger)
Log4net配置(多Appender和Logger)最近做一个项目,在测试的时候出现异常,总是要测试的人把异常界面发给我,然后我再判断是什么问题,有点烦了. 于是决定使用Log4Net,把异常信息记录下来. 同时我也想把正常的提示信息记录下来. 放在同个文件中,显然导致速个记录文件很乱,于是便想把不同的信息记录在不同的文件中. Google了很久之后,终于让我找到方法了. 方法就是: 增加多个命名Loger和Appender.
首先解释了一下Appender和Logger是什么.Appender是一种记录方式,可以是命令行,文件,数据库,等等.Log4Net定义了很多种Appender,但以上三种是最常用的. Logger是一个记录器,它调用Appender将信息记录到持久媒体上.
OK,现在开始.
在Web.config中添加配置:
由于字数限制,请看一楼
注意, 根据需要添加不到的Logger,我这里添加了两个Logger,一个叫Info,一个叫Error,分别对应着不同的Appender,这两个Appender都是RollingFileAppender类型的,但是记录的文件名不同. 更值得注意的是, 要让自己定义的Logger生效,必须把root节点去掉(还没有文档或源代码上去确认这一点,但我在使用中是这样的.)
接下为,就是代码了.首先,你要加载这些配置,把下面这一行放在Global.cs中的Application_Start方法中,
log4net.Config.XmlConfigurator.Configure();
接下来是使用,以下是一个使用的例子.
log4net.ILog errorLogger = log4net.LogManager.Exists( "Error" ); //取得你定义的LoggererrorLogger.Error( "异常信息", ex ); //异常信息
OK,Log4Net这样就可以为你忠实地工作了. <configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net debug="true">
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="Application.log.txt" />
<param name="datePattern" value="MM-dd HH:mm" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="HttpTraceAppender" type="log4net.Appender.ASPNetTraceAppender" >
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="_LogData\Log.txt" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="1MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="ErrorRolling" type="log4net.Appender.RollingFileAppender">
<param name="File" value="_LogData\ErrorLog.txt" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="1MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
字数限制,看二楼
<!-- <root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender" />
</root>
-->
<logger name="Info">
<level value="ALL"/>
<appender-ref ref="RollingLogFileAppender" />
</logger>
<logger name="Error">
<level value="ALL"/>
<appender-ref ref="ErrorRolling" />
</logger>
</log4net>
配置终于结束... 发觉和Log4J基本一样。 用log4j好久了的路过~~~ log4×都系一样的。
页:
[1]