zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }
  • 相关阅读:
    scala之伴生对象的继承
    scala之伴生对象说明
    “Failed to install the following Android SDK packages as some licences have not been accepted” 错误
    PATH 环境变量重复问题解决
    Ubuntu 18.04 配置java环境
    JDBC的基本使用2
    DCL的基本语法(授权)
    ZJNU 1374
    ZJNU 2184
    ZJNU 1334
  • 原文地址:https://www.cnblogs.com/judgelee/p/2993457.html
Copyright © 2011-2022 走看看