用一个简单的示例说明日志记录组件log4net的使用

本文用来写一个最简单的log4net示例demo,起作用是让大家可以很快的上手log4net且归你所用。

log4net介绍

log4net是一个功能著名的开源日志记录组件。通过它可以将.net应用程序的日志记录到多种介质之中,包括:文件、控制台、window事物日志和数据库中(MS SQL Server、Access、Oracle9i、DB2、SQLite)中,并且我们还可以设置和标示日志的级别等。 和其它大多开源组件一样,log4net也是从Java项目过度而来。log4net来源于java应用中的log4J. 想了解跟多log4net的信息,请登录log4net官方网站;下载最新版本的请点击这里。目前最新的版本是:1.2.11 特点: (1) 开源,源代码可见。 (2)兼容多种.net框架(.Net1.0,2.0,3.0,3.5,4.0) (3)支持多种日志信息输出方式和日志信息格式定制 (4)支持xml动态配置和对整个日志过程配置管理 (5)模块化设计和可扩展性强(接口) (6)具有较高的灵活性和性能 (二)核心组件 log4net的有4种核心组件: (1)logger,记录器 (2)Appender,附着器 (3)Layout,布局 (4)Repository(库)

log4net使用

主要分为以下三步: 第一步,下载了最新源码后编译生成一个log4net.dll然后添加引用到我们的示例项目中。 第二步,配置log4net配置文件,请参考如下示例:
<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
  </configSections>

<log4net>
  <!--定义输出到文件中-->
  <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
    <!--定义文件存放位置-->
    <file value="D:/log4netfile.txt"/>
    <appendToFile value="true"/>
    <rollingStyle value="Date"/>
    <datePattern value="yyyyMMdd-HH:mm:ss"/>
    <layout type="log4net.Layout.PatternLayout">
      <!--每条日志末尾的文字说明-->
      <footer value="by 木杉"/>
      <!--输出格式-->
      <!--样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
      <conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline"/>
    </layout>
  </appender>
  <!--定义输出到控制台命令行中-->
  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
    </layout>
  </appender>
  <root>
    <!--文件形式记录日志-->
    <appender-ref ref="LogFileAppender"/>
    <!--控制台控制显示日志-->
    <appender-ref ref="ConsoleAppender"/>
  </root>
</log4net>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
第三步,编写示例代码,如下代码所示:
using System;
using System.Reflection;
using log4net;

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace log4netDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建日志记录组件实例
            ILog myLog = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
            //记录错误日志
            myLog.Error("error",new Exception("这是一条错误日志"));
            //记录致命错误
            myLog.Fatal("fatal",new Exception("这是一条致命错误"));
            //记录一般信息
            myLog.Info("info",new Exception("这是一条一般信息:其实就是无病呻吟"));

            //记录一条调试信息
            myLog.Debug("debug",new Exception("这个过程就是调试的过程"));

            //记录警告信息
            myLog.Warn("警告:你的程序马上就结束了");

            Console.WriteLine("日志记录结束");
            Console.ReadKey();
        }
    }
}
运行结果: log4net   note:d盘下对应的日志文件也是有的 ,这里我就不在文章里贴了。  

总结

本文介绍了log4net如何使用,其中第一步和第二步大家都是一样的,到具体的编码后就是我们自己编写了。具体各个配置是什么意思,我以后再写文章分享。  
posted @ 2013-04-28 07:17  娴言娴语  阅读(254)  评论(0编辑  收藏  举报