工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 5697|回复: 5

Log4net配置(多Appender和Logger)

[复制链接]
发表于 2007-1-11 13:44 | 显示全部楼层 |阅读模式
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这样就可以为你忠实地工作了.
 楼主| 发表于 2007-1-11 13:45 | 显示全部楼层
<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>

字数限制,看二楼
回复

使用道具 举报

 楼主| 发表于 2007-1-11 13:46 | 显示全部楼层
<!--    <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>

配置终于结束...
回复

使用道具 举报

发表于 2007-1-11 13:59 | 显示全部楼层
发觉和Log4J基本一样。
回复

使用道具 举报

发表于 2007-1-11 16:36 | 显示全部楼层
用log4j好久了的路过~~~
回复

使用道具 举报

发表于 2007-1-11 21:45 | 显示全部楼层
log4×都系一样的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2024-6-5 11:29

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表