• 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下载 

  • 相关阅读:
    Redis数据类型有哪些?
    什么情况下调用doGet()和doPost()?
    .JSP中动态include和静态include的区别?
    .Request对象的主要方法有哪些?
    Redis数据类型有哪些?
    Redis的特点什么是?
    请写出常用的linux指令
    接口绑定有几种实现方式,分别是怎么实现的?
    什么是 MyBatis 的接口绑定,有什么好处?
    MyBatis 的好处是什么?
  • 原文地址:https://www.cnblogs.com/ringwang/p/2579775.html
Copyright © 2020-2023  润新知