LOG4NET用法(个人比较喜欢的用法)

web.config配置如下:

 

[xhtml] view plaincopy
 
  1. <?xml version="1.0" encoding="utf-8" ?>  
  2. <configuration>  
  3.  <configSections>  
  4.   <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />  
  5.  </configSections>  
  6.  <log4net>  
  7.   <logger name="logerror">  
  8.    <level value="ERROR" />  
  9.    <appender-ref ref="ErrorAppender" />  
  10.   </logger>  
  11.   <logger name="loginfo">  
  12.    <level value="INFO" />  
  13.    <appender-ref ref="InfoAppender" />  
  14.   </logger>  
  15.   <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">  
  16.    <param name="File" value="Log//LogError//" />  
  17.    <param name="AppendToFile" value="true" />  
  18.    <param name="MaxSizeRollBackups" value="100" />  
  19.    <param name="MaxFileSize" value="10240" />  
  20.    <param name="StaticLogFileName" value="false" />  
  21.    <param name="DatePattern" value="yyyyMMdd".htm"" />  
  22.    <param name="RollingStyle" value="Date" />  
  23.    <layout type="log4net.Layout.PatternLayout">  
  24.     <param name="ConversionPattern" value="<HR COLOR=red>%n异常时间:%d [%t] <BR>%n异常级别:%-5p   
  25.    <BR>%n异 常 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" />  
  26.    </layout>  
  27.   </appender>  
  28.   <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">  
  29.    <param name="File" value="Log//LogInfo//" />  
  30.    <param name="AppendToFile" value="true" />  
  31.    <param name="MaxFileSize" value="10240" />  
  32.    <param name="MaxSizeRollBackups" value="100" />  
  33.    <param name="StaticLogFileName" value="false" />  
  34.    <param name="DatePattern" value="yyyyMMdd".htm"" />  
  35.    <param name="RollingStyle" value="Date" />  
  36.    <layout type="log4net.Layout.PatternLayout">  
  37.     <param name="ConversionPattern" value="<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p   
  38.    <BR>%n日 志 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" />  
  39.    </layout>  
  40.   </appender>  
  41.  </log4net>  
  42.  <system.web>  
  43.   <compilation defaultLanguage="c#" debug="true" />  
  44.   <customErrors mode="RemoteOnly" />  
  45.   <authentication mode="Windows" />  
  46.   <authorization>  
  47.    <allow users="*" />  
  48.   </authorization>  
  49.   <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />  
  50.   <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"  
  51.    cookieless="false" timeout="20" />  
  52.   <globalization requestEncoding="utf-8" responseEncoding="utf-8" />  
  53.  </system.web>  
  54. </configuration>  

 

LOG操作类

 

[c-sharp] view plaincopy
 
  1. using System;  
  2. using System.IO;  
  3.   
  4. namespace TankAction.SystemLog  
  5. {  
  6.     /**//// <summary>  
  7.     /// LogHelper的摘要说明。  
  8.     /// </summary>  
  9.     public class LogHelper  
  10.     {  
  11.         private SystemLog()  
  12.         {  
  13.         }  
  14.   
  15.         public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");  
  16.   
  17.         public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");  
  18.   
  19.         public static void SetConfig()  
  20.         {  
  21.             log4net.Config.DOMConfigurator.Configure();  
  22.         }  
  23.   
  24.         public static void SetConfig(FileInfo configFile)  
  25.         {  
  26.             log4net.Config.DOMConfigurator.Configure(configFile);   
  27.         }  
  28.   
  29.         public static void WriteLog(string info)  
  30.         {  
  31.             if(loginfo.IsInfoEnabled)  
  32.             {  
  33.                 loginfo.Info(info);  
  34.             }  
  35.         }  
  36.   
  37.         public static void WriteLog(string info,Exception se)  
  38.         {  
  39.             if(logerror.IsErrorEnabled)  
  40.             {  
  41.                 logerror.Error(info,se);  
  42.             }  
  43.         }  
  44.     }  
  45. }  

 

Global.asax.cs文件配置如下:

[c-sharp] view plaincopy
 
  1. protected void Application_Start(Object sender, EventArgs e)  
  2.   {  
  3.             SystemLog.SetConfig();  
  4.   }  
  5.   protected void Application_Error(Object sender, EventArgs e)  
  6.   {  
  7.    Exception objExp = HttpContext.Current.Server.GetLastError();  
  8.    LogHelper.WriteLog("/r/n客户机IP:"+ Request.UserHostAddress +"/r/n错误地址:"+ Request.Url +"/r/n异常信息:"+ Server.GetLastError().Message,objExp);  
  9.   }  

 

eg:
   try
   {}
   catch(Exception ex)
   {
       LogHelper.WriteLog("ErrorInfo"ex);
   }

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。