1.安装
   使用nuget下载log4net 当前最新2.0.8
   2.配置项目程序集
   在Assembly程序集中增加如下
   [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config",  Watch = true)]
   3.在log4net.config文件中配置如下 如是站点应放到bin文件夹下
   
  
    
  
  
    
    
      
      
    
    
    
      
      
    
    
    
      
      
      
      
      
      
      
      
      
        
      
    
    
    
      
      
      
      
      
      
      
      
      
        
      
    
  
   4.创建帮助类
   namespace Common
{
    /// 
    /// 日志帮助类
    /// 
    public class LogHelper
    {
          //GetLogger表示log4net配置文件中logger标签中name属性,此处要一致 不然无log输出
        private static readonly log4net.ILog logInfo = log4net.LogManager.GetLogger("loginfo");
        private static readonly log4net.ILog logError = log4net.LogManager.GetLogger("logerror");
        /// 
        /// 记录Info日志
        /// 
        /// 
        /// 
        public static void Info(string msg)
        {
            if (logInfo.IsInfoEnabled)
            {
                logInfo.Info(msg);
            }
        }
        /// 
        /// 记录Error日志
        /// 
        /// 
        /// 
        public static void Error(string info, Exception ex = null)
        {
            if (!string.IsNullOrEmpty(info) && ex == null)
            {
                logError.ErrorFormat("【附加信息】 : {0}
", new object[] { info });
            }
            else if (!string.IsNullOrEmpty(info) && ex != null)
            {
                string errorMsg = BeautyErrorMsg(ex);
                logError.ErrorFormat("【附加信息】 : {0}
{1}", new object[] { info, errorMsg });
            }
            else if (string.IsNullOrEmpty(info) && ex != null)
            {
                string errorMsg = BeautyErrorMsg(ex);
                logError.Error(errorMsg);
            }
        }
        /// 
        /// 美化错误信息
        /// 
        /// 异常
        /// 错误信息
        private static string BeautyErrorMsg(Exception ex)
        {
            string errorMsg = string.Format("【异常类型】:{0} 
【异常信息】:{1} 
【堆栈调用】:{2}", new object[] { ex.GetType().Name, ex.Message, ex.StackTrace });
            errorMsg = errorMsg.Replace("\r\n", "
");
            errorMsg = errorMsg.Replace("位置", "位置");
            return errorMsg;
        }
    }
}