`

log4net

阅读更多

http://www.cnblogs.com/zjfree/archive/2011/02/22/1961586.html

在C# winForm程序中添加log4net

1. 引用 log4net.dll

2. 添加 app.config 内容如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <log4net>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
            <param name="File" value="Log\Log.txt" />
            <param name="AppendToFile" value="true" />
            <param name="MaxSizeRollBackups" value="100" />
            <param name="MaximumFileSize" value="2MB" />
            <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>
        <root>
            <level value="all" />
            <appender-ref ref="RollingLogFileAppender" />
        </root>
    </log4net>
</configuration>

具体设置说明可在网上找。

3. 在 Properties/AssemblyInfo.cs 添加 [assembly: log4net.Config.DOMConfigurator(Watch=true)]

4. 在代码中添加日志

定义LOG private static log4net.ILog LOG = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

写入日志 LOG.Info("窗体打开");

5. 如果要记录所有未处理异常,修改 Program.cs 如下 

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Reflection;
  
namespace ExceptionTest
{
    static class Program
    {
        static log4net.ILog LOG = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
  
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            //捕获未处理异常
            Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
            Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
            AppDomain.CurrentDomain.UnhandledException +=new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
  
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
  
        static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
        {
            LOG.Error(e.Exception);
            //throw new Exception("线程未知异常", e.Exception);
            MessageBox.Show(e.Exception.Message, "线程异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
            Application.Exit();
        }
  
        static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            Exception ex = e.ExceptionObject as Exception;
            LOG.Error(ex);
            MessageBox.Show(ex.Message, "应用程序异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
            Application.Exit();
        }
    }
}

在Asp.net 网站中添加log4net

1. 引用 log4net.dll

2. 配置Web.config 如下

<?xml version="1.0"?>
  
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    </configSections>
    <appSettings/>
    <connectionStrings/>
    <system.web>
        <compilation debug="true"/>
        <authentication mode="Windows"/>
    </system.web>
  
    <!--日志-->
    <log4net>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
            <param name="File" value="D:\test\Log.txt" />
            <param name="AppendToFile" value="true" />
            <param name="MaxSizeRollBackups" value="100" />
            <param name="MaximumFileSize" value="2MB" />
            <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>
        <root>
            <level value="all" />
            <appender-ref ref="RollingLogFileAppender" />
        </root>
    </log4net>
</configuration>

3. 添加 Global.asax 内容如下:

private static log4net.ILog LOG = log4net.LogManager.GetLogger("Log4net 测试网站");
void Application_Start(object sender, EventArgs e) 
{
    // 在应用程序启动时运行的代码
    log4net.Config.DOMConfigurator.Configure();
    LOG.Info("网站启动");
}
  
void Application_Error(object sender, EventArgs e) 
{
    // 在出现未处理的错误时运行的代码
    Exception ex = HttpContext.Current.Server.GetLastError();
    LOG.Error("未处理异常", ex);
}

将站点的所有未处理异常记录到log4net中。

4. 如何使用

定义LOG private static log4net.ILog LOG = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

写入日志 LOG.Info("网站启动");

示例代码下载

下载:http://files.cnblogs.com/zjfree/ErrorLog.rar

环境:WIN2003 + VS2005 + C#

分享到:
评论

相关推荐

    Log4net详细说明使用

    log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统...

    Log4net使用Demo

    用户可以从http://logging.apache.org/log4net/下载log4net的源代码。解压软件包后,在解压的src目录下将log4net.sln载入Visual Studio .NET,编译后可以得到log4net.dll。用户要在自己的程序里加入日志功能,只需将...

    log4net 日志类封装

    log4net 日志类封装 log4net 日志类封装

    C# log4net自动删除多少天前的log文件

    配置Log4net.config &lt;log4net OverdueDays="10"&gt; 可以删除指定多少天数前的日志文件,不配默认7天,每24小时自动清一次

    Log4Net使用指南

    Log4Net使用指南 声明:本文内容主要译自Nauman Leghari的Using log4net,亦加入了个人的一点心得(节3.1.4)。 请在这里下载示例代码 1 简介 1.1 Log4net的优点: 几乎所有的大型应用都会有自己的用于跟踪调试...

    apache-log4net-source-2.0.10.zip

    log4net库是一个工具,可帮助程序员将日志语句输出到各种输出目标。log4net是优秀的Apache log4j™框架到Microsoft®.NET运行时的移植。我们利用.NET运行时中的新功能,使该框架在本质上与原始log4j相似。 log4net是...

    net Core 5.0 Log4Net 全局注册

    net core5 Log4Net 全局注册,日志使用

    log4net。log4net

    log4net 从1.0到4.5

    通用日志 log4net 公共类库

    傻瓜版 log4net 日志记录,只需要添加引用即可记录日志,不需要做任何的配置,真正的一键应用。 使用方法: 1、将 CustomFrame.Logging 工程添加到项目,然后在需要的地方添加项目的引用 2、调用: LoggerFactory....

    log4net.dll

    log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。 log4net是Apache软件基金会Apache Logging Services工程的一部分。Apache...

    net6 控制台+ log4net+写数据库+自定义字段

    net6 控制台+ log4net+写数据库+自定义字段

    C# 使用Log4Net记录日志

    C# 使用Log4Net记录日志

    log4net配置详细图解+Demo

    资源包含log4net配置过程详细图解文档、Demo、插件,其中log4net配置过程详细图解文档包含插件简介、下载、引入VS2010、配置、使用、总结

    log4net 亲编例程源码

    http://logging.apache.org/log4net/download_log4net.cgi 2.建立c# winform项目,名称为logTest; 3.添加配置文件log.config; 4.添加按钮代码; private void button1_Click(object sender, EventArgs e) { ...

    Wpf log4net 日志

    wpf 使用log4net ,可以每天生成一个日志文件。自己网上找了半天,没合适的,写了一个。

    使用Log4net发送日志邮件实例

    使用Log4net发送日志邮件实例

    Log4Net自带配置文件实例讲解

    Log4Net自带配置文件实例讲解

    log4Net.dll+使用详解

    Log4net是.net非常好的日志管理工具

    log4net 1.2.13.0 dll文件

    log4net.dll是著名的Apache软件为.NET Framework 2框架准备的支持库,Log4net日志记录组件。

    Log4net dll下载

    log4net是一个功能著名的开源日志记录组件。利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)中。并且我们还可以记载控制...

Global site tag (gtag.js) - Google Analytics