zoukankan      html  css  js  c++  java
  • 使用 Log4Net 做日志

    引入  Log4net  包

    编写 LogHelper   类

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 [assembly: log4net.Config.XmlConfigurator(Watch = true)]//一定要写
     7 namespace TestLog4Net
     8 {
     9    public  class LogHelper
    10     {
    11         /// <summary>
    12         /// 输出日志到Log4Net
    13         /// </summary>
    14         /// <param name="t"></param>
    15         /// <param name="ex"></param>
    16         #region static void WriteLog(Type t, Exception ex)
    17 
    18         public static void WriteLog(Type t, Exception ex)
    19         {
    20             log4net.ILog log = log4net.LogManager.GetLogger(t);
    21             log.Error("Error", ex);
    22         }
    23 
    24         #endregion
    25 
    26         /// <summary>
    27         /// 输出日志到Log4Net
    28         /// </summary>
    29         /// <param name="t"></param>
    30         /// <param name="msg"></param>
    31         #region static void WriteLog(Type t, string msg)
    32 
    33         public static void WriteLog(Type t, string msg)
    34         {
    35             log4net.ILog log = log4net.LogManager.GetLogger(t);
    36             log.Error(msg);
    37         }
    38 
    39         #endregion
    40 
    41
             #endregion
    
             #region static void WriteLog(string t, Exception ex)
    
             public static void WriteLog(string t, Exception ex)
             {
                 log4net.ILog log = log4net.LogManager.GetLogger(t);
                 log.Error(ex);
             }
    
             #endregion

     

    42     }
    43 }

    在启动项目的配置文件里添加配置

     1 <?xml version="1.0"?>
     2 <configuration>
     3   <configSections>
     4     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
     5   </configSections>
     6   <log4net>
     7     <!--定义输出到文件中-->
     8     <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
     9       <!--定义文件存放位置-->
    10       <file value="log\"/>
    11       <appendToFile value="true"/>
    12       <rollingStyle value="Date"/>
    13       <datePattern value="yyyy\yyyyMM\yyyyMMdd'.txt'"/>
    14       <staticLogFileName value="false"/>
    15       <param name="MaxSizeRollBackups" value="100"/>
    16       <layout type="log4net.Layout.PatternLayout">
    17         <!--每条日志末尾的文字说明-->
    18         <!--输出格式-->
    19         <!--样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
    20         <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>
    21       </layout>
    22     </appender>
    23     <root>
    24       <level value="ERROR"/>
    25       <!--文件形式记录日志-->
    26       <appender-ref ref="RollingLogFileAppender"/>
    27     </root>
    28   </log4net>
    29 </configuration>

    引用时直接在事件处填写

     LogHelper.WriteLog(typeof(FormMain), "测试Log4Net日志是否写入");


    即可


    全局错误日志记录
    将整个程序域中的错误记录下来
    在Global 中添加
     protected void Application_Error(object sender, EventArgs e)
            {
                // 在出现未处理的错误时运行的代码
                Exception objExp = HttpContext.Current.Server.GetLastError();
                Log4netRecord.WriteLog("<br/><strong>客户机IP</strong>:" + Request.UserHostAddress + "<br /><strong>错误地址</strong>:" + Request.Url, objExp);
            }





    学习于 http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html
  • 相关阅读:
    java中goto语句
    随机产生一个小写字母
    java移位操作符注意的问题
    +号操作符
    类名引用static变量好处
    自己做题的简单的算法
    read()方法读取的是一个字节,为什么返回是int,而不是byte
    一道判断题
    关于继承中静态代码块,构造代码块,构造函数执行顺序
    比较好的Redux和React-Redux学习资料
  • 原文地址:https://www.cnblogs.com/cwmizlp/p/9443494.html
Copyright © 2011-2022 走看看