Log4Net详解(1)简单应用

来源:互联网 发布:淘宝养小号 编辑:程序博客网 时间:2024/06/06 09:10

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();        }    }}

 


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击