log4net的初使用

最近在写一些 C# 的程序,想找一个记录日志的软件,当然会想起在 java 中大名鼎鼎的 log4j ,查了一下还真的发现有 .net 版的,就上网找了一些资料学了一下,把它用起来再说,用法很简单,只要把 Log4Net.dll 加入工程中,然后在 App.config 添加如下配置文件:

    <? xml version="1.0" encoding="utf-8"  ?>

    < configuration >

         < configSections >

             < section  name ="log4net"  type ="log4net.Config.Log4NetConfigurationSectionHandler,log4net"   />

         </ configSections >

         < log4net >

             <!-- 定义输出到文件中 -->

             < appender  name ="LogFileAppender"  type ="log4net.Appender.FileAppender">

                 <!-- 定义文件存放位置 -->

               < file  value ="log.log"   />

               < layout  type ="log4net.Layout.PatternLayout">

                   <!-- 每条日志末尾的文字说明 -->

                   < footer  value ="[Footer]--Test By Ring1981  "   />

                   <!-- 输出格式

                       每种转换符号都以 % 开始,后面跟着一个格式符号和换符号。

                      %- 数字 :该项的最小长度,小于最小长度的用空格填充

                      %m(message): 输出的日志消息

                      %n(new line): 换行  

                      %d(datetime): 输出当前语句运行的时刻  

                      %r(run time): 输出程序从运行到执行到当前语句时消耗的毫秒数  

                      %t(thread id): 当前语句所在的线程 ID 

                      %p(priority):  日志的当前优先级别,即 DEBUG INFO WARN…  

                      %c(class): 当前日志对象的名称,

                      %L(line ) :输出语句所在的行号  

                      %F(file name) :输出语句所在的文件名

                      %logger  日志名称

                  -->

                   < conversionPattern  value =" 时间 :%date [ 线程 :%thread] %-5level  [ :%c][%L ]%n    %-5level:%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" /-->

                   < conversionPattern  value =" 时间 :%date [ 线程 :%thread] %-5level  [ :%c][%L ]%n    %-5level:%message%newline"   />

               </ layout >

           </ appender >

           <!-- 定义输出到 windows 事件中 -->

           < appender  name ="EventLogAppender"  type ="log4net.Appender.EventLogAppender">

               < layout  type ="log4net.Layout.PatternLayout">

                   < conversionPattern  value ="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"   />

               </ layout >

           </ appender >

           <!--RollingFileAppender 是输出源也是输出到文件中,只是以自增长的方式 -->

           < appender  name ="RollingLogFileAppender"  type ="log4net.Appender.RollingFileAppender">

               < param  name ="File"  value ="log/system_log_"/>

               <!-- 是否覆盖 -->

               < param  name ="AppendToFile"  value ="true"/>

               <!-- 设置无限备份 =-1  ,最大备份数为 1000-->

               < param  name ="MaxSizeRollBackups"  value ="100"/>

               <!-- 每个文件的最大 20k-->

               < param  name ="MaximumFileSize"  value ="1KB"/>

               <!-- 名称是否可以更改   false 为可以更改 -->

               < param  name ="StaticLogFileName"  value ="false"/>

               <!-- 文件名称 -->

               < param  name ="DatePattern"  value ="yyyyMMdd&quot;.log&quot;"/>

               < param  name ="RollingStyle"  value ="Date"/>

               < layout  type ="log4net.Layout.PatternLayout">

                   <!--conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %SysMessage%newline" /-->

                   < conversionPattern  value =" 时间 :%date [ 线程 :%thread] %-5level  [ :%c][%L ]%n    %-5level:%message%newline"   />

               </ layout >

           </ appender >

           <!-- 定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。 -->

           < root >

               < appender-ref  ref ="LogFileAppender"   />

               < appender-ref  ref ="ConsoleAppender"   />

               < appender-ref  ref ="EventLogAppender"   />

               < appender-ref  ref ="RollingLogFileAppender"   />

           </ root >

       </ log4net >

  </ configuration >

然后在 AssemblyInfo.cs 文件最后加入 [assembly: log4net.Config.DOMConfigurator()] 即可用了

示例:

    class  Program

    {

             private   static  ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

   

             static   void  Main( string [] args)

            {

                log.Debug( " 测试日志 " );

                log.Info( " 测试日志 " );

                log.Warn( " 测试日志 " );

              Console.Read();

          }

  }

运行效果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值