zoukankan      html  css  js  c++  java
  • log4net 简单使用教程(配置)

    步骤一:引用log4net配置文件

    log4net.config配置如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <!--type属性的完整格式为:配置节处理器类名,程序集名称,Version=程序集版本号,Culture=区域信息,PublicKeyToken=公钥-->
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
      </configSections>
      <log4net>
        <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="log.txt" />
          <param name="AppendToFile" value="true" />
          <param name="MaxSizeRollBackups" value="10" />
          <param name="StaticLogFileName" value="false" />
          <param name="DatePattern" value="yyyyMMddHH&quot;.log&quot;"  />
          <param name="RollingStyle" value="Date" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="conversionPattern" value="%d [%t] 日志级别:%-5p 出错类: %l - 描述:%message%newline" />
            <param name="ConversionPattern" value="%d [%t] %-5p %l  %m  %n" />
          </layout>
        </appender>
        <root>
          <level value="All" />
          <appender-ref ref="LogFileAppender" />
        </root>
      </log4net>
    </configuration>
    
    

    步骤二:修改AssemblyInfo.cs文件,添加log4net.config文件配置

    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

    步骤三:程序调用:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Reflection;
    
    //
    using log4net;
    
    namespace Log4NetDemo
    {
        /// <summary>
        /// 说明:本程序演示如何利用log4net记录程序日志信息。log4net是一个功能著名的开源日志记录组件。
        /// 利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库中(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)。
        /// 下面的例子展示了如何利用log4net记录日志
        /// </summary>
        class Program
        {
            static void Main(string[] args)
            {
                
                //创建日志记录组件实例
                ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    
                //System.Reflection.MethodBase.GetCurrentMethod().DeclaringType 
                //是利用反射获取当前类的type,记录在日志中,便于定位日志发生的所在
    
                try
                {
                    throw new Exception("抛出异常");
                }
                catch
                {
                    log.Error("这是一个错误日志");
                    log.Fatal("这是一个致命的错误日志");
                    log.Warn("这是一条警告日志");
                    log.Info("这是一条普通信息");
                  
    
                }
                   
                    Console.WriteLine("日志记录完毕。");
                    Console.Read();
               
            }
        }
    }

    代码完毕

    执行完成后,会在Bin目录下看到生成的log文件,具体名称可以在log4net.config文件中配置,具体配置方法请参考官方说明文档。

    image_thumb1

    源代码下载地址:Log4NetDemo.rar

    VS2010编译通过

  • 相关阅读:
    Emacs key bindings for vim users | Scarletsky
    Js对于数组去重提高效率一些心得
    http request GET 乱码分析
    ansible使用指北(二)
    Sed 实记 · laoless's Blog
    案例:文件下载器
    吴裕雄--天生自然python学习笔记:Python3 迭代器与生成器
    吴裕雄--天生自然HTML学习笔记:HTML
    吴裕雄--天生自然HTML学习笔记:HTML 速查列表
    吴裕雄--天生自然HTML学习笔记:HTML 统一资源定位器(Uniform Resource Locators)
  • 原文地址:https://www.cnblogs.com/CnKker/p/2887157.html
Copyright © 2011-2022 走看看