LOG4NET日志配置

1.先弄个日志记录的类

/// <summary>
    
/// 使用LOG4NET记录日志的功能,在WEB.CONFIG里要配置相应的节点
    
/// </summary>
    public class LogHelper
    {
        //log4net日志专用
        public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
        public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
          
        public static void SetConfig()
        {
            log4net.Config.XmlConfigurator.Configure();
        }

        public static void SetConfig(FileInfo configFile)
        {
            log4net.Config.XmlConfigurator.Configure(configFile);
        }
        /// <summary>
        
/// 普通的文件记录日志
        
/// </summary>
        
/// <param name="info"></param>
        public static void WriteLog(string info)
        {
            if (loginfo.IsInfoEnabled)
            {
                loginfo.Info(info);
            }
        }
        /// <summary>
        
/// 错误日志
        
/// </summary>
        
/// <param name="info"></param>
        
/// <param name="se"></param>
        public static void WriteLog(string info, Exception se)
        {
            if (logerror.IsErrorEnabled)
            {
                logerror.Error(info, se);
            }
        }  

    } 

 2.WEB.CONFIG配置

在 configSections 节点上添加:

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />     

 然后配置单独的节点:

<!--日志-->  
  <log4net>
    <logger name="logerror">
      <level value="ERROR" />
      <appender-ref ref="ErrorAppender" />
    </logger>
    <logger name="loginfo">
      <level value="INFO" />
      <appender-ref ref="InfoAppender" />
    </logger>
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="E:\xxx.com\xx.xxx.com\App_Log\Error\ErrorLog.log" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaximumFileSize" value="1MB" />
      <param name="RollingStyle" value="Size" />
      <param name="StaticLogFileName" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%-5p %d [%c] %m%n" />
      </layout>
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="E:\xxx.com\xxx.xxx.com\App_Log\Info\InfoLog.log" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaximumFileSize" value="1MB" />
      <param name="RollingStyle" value="Size" />
      <param name="StaticLogFileName" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%-5p %d [%c] %m%n" />
      </layout>
    </appender>

  </log4net>    

 3.在GOLBAL文件里调用写日志:

 void Application_Start(object sender, EventArgs e) 

    {
        //在应用程序启动时运行的代码        
        //初始日志的配置
        LogHelper.SetConfig();        
    }

 

void Application_Error(object sender, EventArgs e) 
    { 
        //在出现未处理的错误时运行的代码
        Exception objExp = HttpContext.Current.Server.GetLastError();
        string username = "";
        string userid = "";
        if (Session["ulogin"] != null)
        { 
            string[] uinfo=Session["ulogin"].ToString().Split('|');
            userid = uinfo[0];
            username = uinfo[1];
        }
        Aotain114.Public.LogHelper.WriteLog("\r\n用户ID:"+userid+"\r\n用户名:"+username+"\r\n客户机IP:" + Request.UserHostAddress + "\r\n错误地址:" + Request.Url + "\r\n异常信息:" + Server.GetLastError().Message, objExp);
        

    } 

 

点击LOG4NET下载 

posted on 2012-07-06 17:40  ringwang  阅读(26092)  评论(2编辑  收藏  举报