• Log4Net强大的日志系统


     

    一.      介绍:

    几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。

    经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台,文件等)以备以后研究之用。

    Log4net就是为这样一个目的设计的,用于.NET开发环境的日志记录包。

    二.      使用:

    1)         导入log4net.dll,

    2)         配置文件,是网站就配置.Config配置文件,

    3)   <?xml version="1.0" encoding="utf-8"?>

    4)    

    5)   <!--

    6)     有关如何配置 ASP.NET 应用程序的详细消息,请访问

    7)     http://go.microsoft.com/fwlink/?LinkId=169433

    8)     -->

    9)    

    10)  <configuration>

    11)    <configSections>

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

    13)    </configSections>

    14)      <system.web>

    15)          <compilation debug="true" targetFramework="4.0" />

    16)      </system.web>

    17)    <log4net>

    18)      <!-- Define some output appenders -->

    19)      <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">

    20)        <file value="MyLog.log"/>

    21)        <appendToFile value="true"/>

    22)        <maxSizeRollBackups value="10"/>

    23)        <maximumFileSize value="1024KB"/>

    24)        <rollingStyle value="Size"/>

    25)        <staticLogFileName value="true"/>

    26)        <layout type="log4net.Layout.PatternLayout">

    27)          <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>

    28)        </layout>

    29)      </appender>

    30)      <root>

    31)        <level value="DEBUG"/>

    32)        <appender-ref ref="RollingLogFileAppender"/>

    33)      </root>

    34)    </log4net>

    35)  </configuration>

    36)  注意:<file value="MyLog.log"/>,表示记录文件名为MyLog.log

    37)     测试代码如下(这是一个只有一个Button的网站的后台代码):

    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Web;
    5. using System.Web.UI;
    6. using System.Web.UI.WebControls;

     

    1. namespace WebApplication1
    2. {
    3. public partial class WebForm1 : System.Web.UI.Page
    4. {
    5. protected void Page_Load(object sender, EventArgs e)
    6. {
    7. log4net.Config.XmlConfigurator.Configure();
    8. }
    9. private static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(WebForm1));
    10. protected void Button1_Click(object sender, EventArgs e)
    11. {
    12. log4net.LogManager.GetLogger(typeof(WebForm1)).Debug("海潮天才");
    13. logger.Debug("hao");
    14. logger.Error("cuowu1le1", new Exception());//一个异常对象
    15. }
    16. }
    17. }

    看着不熟悉的就是关键代码了。先运行,在点击下。

    看看网站根目录:

    打开这个就是我们测试的文字了:

  • 相关阅读:
    面向对象与原型2---原型
    JavaScript 引用【转】
    面向对象与原型1---创建对象的方法
    匿名函数和闭包(下)
    从输入 URL 到页面加载完的过程中都发生了什么事情?
    匿名函数和闭包(上)
    聚美优品前端开发面试题
    hdoj1045 Fire Net(二分图最大匹配)
    hdoj1180 诡异的楼梯(bfs+奇偶判断)
    hdoj1373 Channel Allocation(极大团)
  • 原文地址:https://www.cnblogs.com/haichao/p/2717422.html
Copyright © 2020-2023  润新知