六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 86|回复: 0

log4net使用详解

[复制链接]

升级  52%

6

主题

6

主题

6

主题

童生

Rank: 1

积分
26
 楼主| 发表于 2013-1-13 18:25:17 | 显示全部楼层 |阅读模式
log4net是Apache的一个功能著名的开源日志记录组件。利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)中。并且我们还可以记载控制要记载的日志级别,可以记载的日志类别包括:FATAL(致命错误)、ERROR(一般错误)、WARN(警告)、INFO(一般信息)、DEBUG(调试信息)。
组件库下载地址:incubating-log4net-1.2.10.zip;
第一:通过VS新建项目:C#--->windows---->控制台应用程序
第二:解压文件找到\bin\net\2.0\debug\log4net.dll,并将其添加到工程引用中。
第三:新建一个配置文件,文件名称为log4net.config,内容为
 
 
<?xml version="1.0" encoding="utf-8" ?><configuration>  <configSections>    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>  </configSections>  <appSettings>  </appSettings>  <log4net>    <!--定义输出到文件中-->    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">      <!--定义文件存放位置-->      <file value="log4netfile.txt" />      <appendToFile value="true" />      <layout type="log4net.Layout.PatternLayout">        <!--每条日志末尾的文字说明-->        <footer value="by zhangsan" />        <!--输出格式-->          <conversionPattern value="%date ThreadId:[%thread] Level:%-5level Class:%logger property:[%property{NDC}] - msgInfo:%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></configuration> 
   并将文件拷贝到工程目录下面的bin\Release或bin\Debug下面。
第四:加载配置文件,在这里提供两种方式,
 

  • 通过类AssemblyInfo.cs中加载,在该类中最后一行添加内容:                                                                                                          [assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config",Watch = true)]
  • 通过Main函数运行类Program.cs加载,在类的namespace上面添加内容:                                                                                         [assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config",Watch = true)]
  • 通过程序控制加载。如:    {        static void Main(string[] args)        {            log4net.Config.XmlConfigurator.Configure(new FileInfo("log4net.config"));              }    }
 第五:测试using System;
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表