zoukankan      html  css  js  c++  java
  • 用一个简单的示例说明日志记录组件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如何使用,其中第一步和第二步大家都是一样的,到具体的编码后就是我们自己编写了。具体各个配置是什么意思,我以后再写文章分享。  
  • 相关阅读:
    MySQL数据库表的设计和优化(上)
    MySQL性能优化最佳实践20条
    MySQL高性能优化指导思路
    MySQL 5.6 my.cnf优化后的标准配置(4核 16G Centos6.5 x64)
    MySQL优化之索引优化
    MySQL优化之SQL语句优化
    MySQL优化之配置参数调优
    Apache的ab测试
    FastCGI模式下安装Xcache
    除了用作缓存数据,Redis还可以做这些
  • 原文地址:https://www.cnblogs.com/vsdot/p/3263353.html
Copyright © 2011-2022 走看看