Log4Net使用技巧

Log4Net使用技巧

1.Log4Net简介

log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。log4net是Apache软件基金会Apache Logging Services工程的一部分。Apache日志服务工程致力于为程序调试和审计提供跨语言的日志服务。

今天,我带领大家在ASP.NET上使用Log4Net记录日志

2.Log4Net 下载

下载地址:

http://download.csdn.net/detail/abc456456456456/7653857

3.使用步骤

3.1 新建asp.net Web应用程序,创建三层代码,添加所需类库,如图(1):

Common:全局公用类库文件;

WordFilter:显示层代码库;

WordFilter.BLL:BLL代码层库

WordFilter.DAL:DAL代码类库

WordFilter.Model:Model代码类库

3.2 在WebConfig文件中配置Log4Net;

代码如下:

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

<!--
  有关如何配置 ASP.NET 应用程序的详细消息,请访问
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <!-- 定义日志记录类型为 滚动文件类型 -->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <!-- 定义日志文件的位置,此为网站根目录下的Log文件夹下的Moumoulog.txt文件 -->
      <file value="Log/Moumoulog.txt"/>
      <!-- 日志 追加在日志文件中 -->
      <appendToFile value="true"/>
      <!--日志最大个数,都是最新的-->
      <maxSizeRollBackups value="10"/>
      <!--每个日志文件的最大容量,超过该容量自动创建 新的日志文件-->
      <maximumFileSize value="1024KB"/>
      <rollingStyle value="Size"/>
      <!--置为true,当前最新日志文件名永远为file节中的名字-->
      <staticLogFileName value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
      </layout>
    </appender>
    <root>
      <!--日志记录级别,默认是DEBUG-->
      <level value="DEBUG"/>
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>
  <appSettings>
    <!-- 连接字符串是否加密 -->
    <add key="ConStringEncrypt" value="false"/>
    <!-- 数据库连接字符串,(如果采用加密方式,上面一项要设置为true;加密工具,可在官方下载,
     如果使用明文这样server=127.0.0.1;database=.....,上面则设置为false。 -->
    <add key="ConnectionString" value="server=.\sqlexpress;database=WordFilter;uid=sa;pwd=hello"/>
  </appSettings>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />

        <httpRuntime requestValidationMode="2.0" />
    </system.web>
</configuration>

3.3 Common类库添加log4net的引用:

3.4 Common类库添加LogHelper.cs类文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Moumou.Enterprise.Common
{
    public class LogHelper
    {
        //log4net日志专用
        public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
        public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>//设置log4net获取配置信息、从配置文件获取
        public static void SetConfig()
        {
            log4net.Config.XmlConfigurator.Configure();
        }
<span style="white-space:pre">	</span>//<span style="font-family: Arial, Helvetica, sans-serif;">从文件获取</span>
        public static void SetConfig(FileInfo configFile)
        {
            log4net.Config.XmlConfigurator.Configure(configFile);
        }
        /// <summary>
        /// 普通的文件记录日志
        /// </summary>
        /// <param name="info"></param>
        public static void WriteLog(string info)
        {
            if (loginfo.IsInfoEnabled)
            {
                loginfo.Info(info);
            }
        }
        /// <summary>
        /// 错误日志
        /// </summary>
        /// <param name="info"></param>
        /// <param name="se"></param>
        public static void WriteLog(string info, Exception se)
        {
            if (logerror.IsErrorEnabled)
            {
                logerror.Error(info, se);
            }
        }
    }
}

3.5 在Global.asax文件的Application_Start方法启动调用log4net

protected void Application_Start(object sender, EventArgs e) {
			LogHelper.SetConfig();
			LogHelper.WriteLog("系统启动");
		}

3.6 在Application_Error记录错误日志

		protected void Application_Error(object sender, EventArgs e) {
			//在出现未处理的错误时运行的代码
			Exception objExp = HttpContext.Current.Server.GetLastError();

			LogHelper.WriteLog("异常:" + Server.GetLastError().Message, objExp);
		}

记录错误日志如下:

时间: 2024-10-26 15:19:59

Log4Net使用技巧的相关文章

单元测试中如何配置log4net

按道理来说,单元测试中基本没有对于日志的需求,这是由于单元测试的定位来决定的. 因为单元测试的思想就是针对的都是小段代码的测试,逻辑明确,如果测试运行不通过,简单调试一下,就能很容易地排查问题.但是单元测试也是一个简便好用的的启动器.总不能调试任何代码,都要我启动一个Windows或者Web项目吧,这样太笨重了,而且项目越大,启动时间越长.在把单元测试用作启动器的情况下,就会有需求使用log4net. 进入正题 如何在一个单元测试项目中,配置log4net: 1. 添加log4net配置文件 这

(转)非常完善的Log4net详细说明

转自:http://www.cnblogs.com/zhangchenliang/p/4546352.htmlhttp://www.cnblogs.com/zhangchenliang/p/4546352.html (转)非常完善的Log4net详细说明 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual Studio2008中使用log4net快速创

[转载]非常完善的Log4net详细说明

前言 此篇文章是我见过写得最好的一片关于Log4Net的文章,内容由简入难,而且面面俱到,堪称入门和精通的佳作,特从懒惰的肥兔的转载过来. 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段. 2.一个简单的使用实例 第一步:在项目中添加对log4net.dll的引用,

Log4net创建日志及简单扩展

1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段.2.一个简单的使用实例 第一步:在项目中添加对log4net.dll的引用,这里引用版本是1.2.10.0. 第二步:程序启动时读取log4net的配置文件. 如果是CS程序,在根目录的Program.cs中的Main

(转载)log4net 组件详解

1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段. 2.一个简单的使用实例 第一步:在项目中添加对log4net.dll的引用,这里引用版本是1.2.10.0. 第二步:程序启动时读取log4net的配置文件. 如果是CS程序,在根目录的Program.cs中的Mai

Log4Net五步走

本文不是教你全面了解log4net,本文只是希望教会你按步就班,照糊芦画瓢般就会用log4net1,引入log4net.dll组件2,建立一个配置文件两种方法,一种是在Web.Config或App.Config里加入以下配置节 <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

(24)C# log4net

http://www.cnblogs.com/jiajinyi/p/5884930.html (转)非常完善的Log4net详细说明 转自:http://www.cnblogs.com/zhangchenliang/p/4546352.htmlhttp://www.cnblogs.com/zhangchenliang/p/4546352.html (转)非常完善的Log4net详细说明 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可

log4net详细配置说明

原文地址:http://blog.sina.com.cn/s/blog_671486bc01011rdj.html 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段. 2.一个简单的使用实例 第一步:在项目中添加对log4net.dll的引用,这里引用版本是1.2.1

log4net详解(转载)

1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段. 2.一个简单的使用实例 第一步:在项目中添加对log4net.dll的引用,这里引用版本是1.2.10.0. 第二步:程序启动时读取log4net的配置文件. 如果是CS程序,在根目录的Program.cs中的Mai