首页 > 代码库 > Log4Net使用技巧

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=http://www.mamicode.com/"Log/Moumoulog.txt"/>>
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);
		}

记录错误日志如下:


Log4Net使用技巧