• Log4Net详解(1)简单应用


    Log4Net详解 (1) 简单应用

    1、安装Log4Net

    下载地址

    http://logging.apache.org/log4net/download.html

    下载文件

    log4net-1.2.11-bin-newkey.zip

    在项目中引用

    \bin\net\4.0\release\log4net.dll

    2、Log4Net结构

    Logger(记录器)

    Repository(库)

    Appender(附着器)

    Layout(布局)

    3、配置Log4Net

    log4net框架会在相对于AppDomain.CurrentDomain.BaseDirectory 属性定义的目录路径下查找配置文件。框架在配置文件里要查找的唯一标识是<log4net>标签。

    Log4Net的配置信息可以放在以下两种类型的文件中:

    (1) 程序的配置文件

    winform:App.config

    web:web.config

    (2) 自定义的配置文件

    如:log4net.config、log4net.xml

    (如果使用自定义配置文件,需要设置该文件的属性“复制到输出目录”为“始终复制”)

    基本配置文件结构:

    View Code
    <?xml version="1.0" encoding="utf-8" ?>
    
    <configuration>
    
        <configSections>
    
              <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    
        </configSections>
    
     
    
        <log4net debug="true">
    
              <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    
                  <file value="applicationLog.log" />
    
                  <!-- file可以指定具体的路径,如:d:\\mylog.log。不指定的话log被生成在项目的bin/Debug 或者 bin/Release目录下 (web的项目 默认生成在根目录下) -->
    
                  <appendToFile value="true" />
    
                  <rollingStyle value="Size" />
    
                  <maxSizeRollBackups value="10" />
    
                  <!--备份log文件的个数最多10个-->
    
                  <maximumFileSize value="2MB" />
    
                  <!--每个log文件最大是2M,如果超过2M将重新创建一个新的log文件,并将原来的log文件备份。-->
    
                  <staticLogFileName value="true" />
    
                  <layout type="log4net.Layout.PatternLayout">
    
                      <!--指定log的格式-->
    
                      <conversionPattern value="[%date]  %thread -- %-5level -- %logger [%M] --   %message%newline" />
    
                  </layout>
    
              </appender>
    
     
    
              <root>
    
                  <level value="DUBEG" />
    
                  <!--指定将此级别及以上的log打印到log文件中-->
    
                  <appender-ref ref="RollingLogFileAppender" />
    
              </root>
    
        </log4net>
    
    </configuration>

    将以下代码加入到AssemblyInfo.cs的底部:

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

    View Code
    [assembly:   log4net.config.XmlConfigurator(Watch=true)]   
    // 监视默认的配置文件,AppName.exe.config
    // 将log4net的配置节编写在:winform中App.config,webform中web.config
    
    [assembly:   log4net.config.XmlConfigurator(ConfigFileExtension="log4net",Watch=true)] 
    // 监视配置文件,AppName.exe.log4net
    // 将log4net的配置节编写在:winform中App.config,webform中web.config,但是,生成的项目配置文件的后缀为自定义扩展名,如:.log4net
    
    [assembly:   log4net.config.XmlConfigurator(ConfigFile="log4net.config")] 
    // 使用配置文件log4net.config,不监视改变。
    // 将log4net的配置节编写在自定义文件中,如:log4net.config。

    4、程序中调用Log4Net

    View Code
    using   System;
    using   log4net;
    
    namespace   TestLog4Net5
    {
        class Program
        {
            private static readonly ILog Log =   LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    
            static void Main(string[] args)
    
            {
                //记录错误日志
             Log.Error("error", new   Exception("发生了一个异常"));
    
                //记录严重错误
             Log.Fatal("fatal", new   Exception("发生了一个致命错误"));
    
                //记录一般信息
             Log.Info("info");
    
                //记录调试信息
             Log.Debug("debug");
    
                //记录警告信息
             Log.Warn("warn");
    
                Console.WriteLine("日志记录完毕。");
    
                Console.Read();
            }
        }
    }
  • 相关阅读:
    [spring]AOP(切面)编程
    [spring]基于注解的spring配置
    [redis]redis五种数据类型和应用场景
    [redis]redis实现分页的方法
    [zookeeper]ZooInspector的使用
    [log4j]SLF4J+log4j的使用
    [zookeeper]依赖jar的问题
    导出word功能,用html代码在word中插入分页符
    jq实现千分位的转换
    oracle 创建表空间及oracle 11g表空间之最大最小
  • 原文地址:https://www.cnblogs.com/judgelee/p/2993457.html
Copyright © 2020-2023  润新知