log4net在vs2008中的使用及需注意的地方

1 添加引用。

 

2 添加配置。

 

ExpandedBlockStart.gif 代码
<? xml version="1.0" encoding="utf-8"  ?>
< configuration >
    
< configSections >
                
< section  name ="log4net"  type ="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    
</ configSections >
       
< log4net >
        
< logger  name ="InfoLog" >
            
< level  value ="INFO"   />
            
< appender-ref  ref ="ConsoleAppender"   />
        
</ logger >

        
< logger  name ="ErrorLog" >
            
< level  value ="ERROR"   />
            
< appender-ref  ref ="ErrorLogAppender"   />
        
</ logger >

        
< appender  name ="ErrorLogAppender"  type ="log4net.Appender.RollingFileAppender" >
            
< param  name ="file"  value ="FileLogData\ErrorLog.txt" />
            
< param  name ="appendToFile"  value ="true"   />
            
< param  name ="rollingStyle"  value ="Size"   />
            
< param  name ="maxSizeRollBackups"  value ="10"   />
            
< param  name ="maximumFileSize"  value ="10MB"   />
            
< 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 ="InfoLogAppender"  type ="log4net.Appender.RollingFileAppender" >
            
< param  name ="file"  value ="FileLogData\InfoLog.txt"   />
            
< param  name ="appendToFile"  value ="true"   />
            
< param  name ="rollingStyle"  value ="Size"   />
            
< param  name ="maxSizeRollBackups"  value ="10"   />
            
< param  name ="maximumFileSize"  value ="10MB"   />
            
< 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 ="ConsoleAppender"  type ="log4net.Appender.ConsoleAppender" >
            
< layout  type ="log4net.Layout.PatternLayout" >
                
< param  name ="conversionPattern"  value ="%d Thread:[%t]  - %m%n" />
            
</ layout >
        
</ appender >

    
</ log4net >

</ configuration >

 

 

需要说明的是:<param name="file" value="FileLogData\InfoLog.txt" />这句是指生成的日志文件存放位置,此处是指在当前应用程序目录生成一个名为FileLogData的文件夹,在该文件夹下生成名为InfoLog.txt的日志文件。

 

3 在AssemblyInfo.cs文件中写入下面代码。

[assembly: log4net.Config.DOMConfigurator()]

这句很重要,如果不写,log4net就会失效。

 

完成了上面的配置之后,就可以使用log4net进行日志记录了。

当然,为了简便,通常的做法是把调用方法写在一个通用类里面,然后调用类的方法,如下:

 

 

ExpandedBlockStart.gif 代码
public   class  LogHelper
{

    
public   static   readonly  log4net.ILog InfoLog  =  log4net.LogManager.GetLogger( " InfoLog " );
    
public   static   readonly  log4net.ILog ErrorLog  =  log4net.LogManager.GetLogger( " ErrorLog " );

    
public  LogHelper()
    {
        
//
        
// TODO: 在此处添加构造函数逻辑
        
//
    }


    
///   <summary>
    
///  写普通信息
    
///   </summary>
    
///   <param name="infoMsg"></param>
     public   static   void  WriteLog( string  infoMsg)
    {
        
// log4net.ILog InfoLog = log4net.LogManager.GetLogger("InfoLog");

        
string  msg  =   "" ;
        
if  (InfoLog.IsInfoEnabled)
        {
            InfoLog.Info(msg 
+  infoMsg);
        }
    }

    
///   <summary>
    
///  写错误信息
    
///   </summary>
    
///   <param name="infoMsg"></param>
    
///   <param name="e"></param>
     public   static   void  WriteLog( string  infoMsg, Exception e)
    {
        
string  msg  =   " 异常信息: " ;

        
if  (ErrorLog.IsErrorEnabled)
        {
            ErrorLog.Error(msg 
+  infoMsg, e);
        }
    }

}

 

 

 

在需要使用的页面,直接调用,如:LogHelper.WriteLog("--------Start--------");

 


 

转载于:https://www.cnblogs.com/han1028/archive/2010/09/10/1823489.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值