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);
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是一款强大的日志记录...log4net-2.0.8-src.zip和log4net-2.0.8文件包含了log4net的源代码和编译后的库,对于想要学习和研究log4net的开发者来说,是一份宝贵的资源。
Log4net是一个强大的开源日志记录组件,广泛应用于.NET框架中。它提供了丰富的日志管理功能,能够将日志信息按不同级别分类,并以多种格式输出到不同的目标,如文件、控制台、数据库等。使用Log4net可以方便地监控和...
本文将深入探讨log4net1.2.11.dll与log4net1.2.11的源码,这是一个强大的日志记录框架,它为.NET开发者提供了一种灵活且可扩展的方式来管理和跟踪应用程序的运行时信息。log4net是Apache软件基金会的log4j项目在.NET...
在IT行业中,日志管理是系统监控和故障排查的关键环节,尤其在使用.NET框架开发应用程序时,C#的log4net库是一个非常流行的日志记录工具。log4net以其灵活性和强大的功能,允许开发者轻松地配置日志输出,包括日志...
**Log4Net 2.0.8 知识点详解** Log4Net 是一个流行的、开源的日志记录框架,由 Apache 软件基金会开发,主要用于.NET Framework 和 .NET Core 应用程序。这个框架提供了丰富的日志记录功能,允许开发者以灵活的方式...
**log4net源码分析** `log4net`是一款广泛使用的日志记录框架,它源自Java平台上的log4j,并被移植到了.NET环境中。这款开源库提供了强大的日志记录功能,支持多种输出方式,如控制台、文件、数据库等,且具有可...
Log4Net是Apache软件基金会开发的一个开源项目,它是一个强大的日志记录框架,广泛应用于.NET平台,用于在应用程序中记录各种级别的信息,如调试、警告、错误和致命错误。.NET 3.5是一个非常流行的.NET Framework...
Log4Net是Apache组织提供的一款强大的、灵活的日志框架,广泛应用于C#项目中,包括WinForm应用。本实例将详细介绍如何在WinForm应用中配置和使用Log4Net。 首先,我们要理解Log4Net的基本概念。Log4Net提供了一个可...
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> <log4net> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> ...
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> <log4net> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> ...
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> ``` - 然后,在配置节内定义日志输出的目标(appender)和日志级别(level),例如输出到控制台: ```xml ...
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4...
例如,在ASP.NET Web应用中,可以在Global.asax.cs的Application_Start方法中初始化log4net,然后在代码中使用`log4net.ILog`接口记录日志。 ```csharp using log4net; private static readonly ILog log = ...
在.NET项目中使用log4net,需要引用`log4net.dll`库。可以通过NuGet包管理器安装,也可以直接从Apache官方网站下载。添加引用后,在程序启动时初始化log4net配置,并通过`log4net.Config.XmlConfigurator.Configure...
本文将深入探讨如何在C#控制台应用程序中使用Log4net这一流行的日志框架。Log4net是Apache软件基金会的一个项目,它为.NET应用程序提供了强大的日志记录功能,具有灵活的配置和多种输出选项。 首先,我们要理解Log4...
**log4Net.dll 使用详解** 在.NET开发环境中,日志管理是不可或缺的一部分,它能够帮助开发者追踪程序运行状态,定位错误,以及进行性能分析。Log4net是Apache软件基金会的一个开源项目,它为.NET Framework提供了...
在.NET 6框架下,构建一个控制台应用并结合log4net进行日志记录,同时将日志数据存储到数据库并支持自定义字段,是一项常见的系统监控和故障排查任务。以下将详细介绍如何实现这一功能。 首先,log4net是Apache的一...
配置log4net通常通过XML配置文件进行,如`log4net.config`。该文件中定义了日志的Appenders(输出目的地)、Layouts(输出格式)和Loggers(日志级别)等核心元素。例如: ```xml <log4net> ...
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> <log4net> <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> , System.Data, ...
Log4Net是.NET平台上一个广泛使用的日志框架,它提供了一种灵活的方式来管理和记录应用的日志信息。本文将详细讨论如何在.NET Core 5.0项目中全局注册Log4Net,以便在整个应用中统一使用日志服务。 首先,要使用Log...