zoukankan      html  css  js  c++  java
  • winfrom Log4Net 代码(二) 记录格式log_info.txt和log_error.txt,只产生两个文本,里面分别记录提示信息和报错信息

    1.配置信息

    [assembly: log4net.Config.XmlConfigurator(Watch = true)]

    或者

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

    2.配置Log4Net.config

     1 <?xml version="1.0" encoding="utf-8" ?>
     2 <configuration>
     3     <configSections>
     4         <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
     5     </configSections>
     6   <!--log4net配置文件-->
     7   <log4net>
     8     <root>
     9       <level value="ALL"/>
    10       <appender-ref ref="InfoAppender"/>
    11       <appender-ref ref="ErrorAppender"/>
    12       <!--<appender-ref ref="ConsoleAppender"/>-->
    13     </root>
    14     <!--运行状态信息-->
    15     <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
    16       <!--日志路径-->
    17       <File value="log/log_info.txt"/>
    18       <!--是否是向文件中追加日志-->
    19       <AppendToFile value="true"/>
    20       <!--创建新文件的方式-->
    21       <RollingStyle value="Size"/>
    22       <!--log文件大小-->
    23       <MaximumFileSize value="5M"/>
    24       <!--备份日志数目-->
    25       <MaxSizeRollBackups value="30"/>
    26       <!--日志文件名是否是固定不变的-->
    27       <StaticLogFileName value="true"/>
    28       <lockingModel type="log4net.Appender.RollingFileAppender+MinimalLock" />
    29       <!--输出格式-->
    30       <layout type="log4net.Layout.PatternLayout">
    31         <!--日期 [级别]-->
    32         <conversionPattern value="%d [%-5p] [%t%] -%m%n"/>
    33       </layout>
    34       <!--控制器,只记录级别在INFO-INFO之间的信息-->
    35       <filter type="log4net.Filter.LevelRangeFilter">
    36         <levelMin value="INFO" />
    37         <levelMax value="INFO" />
    38       </filter>
    39     </appender>
    40     <!--运行错误信息-->
    41     <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
    42       <!--日志路径-->
    43       <File value="log/log_error.txt"/>
    44       <!--是否是向文件中追加日志-->
    45       <AppendToFile value="true"/>
    46       <!--创建新文件的方式-->
    47       <RollingStyle value="Size"/>
    48       <!--log文件大小-->
    49       <MaximumFileSize value="5M"/>
    50       <!--备份日志数目-->
    51       <MaxSizeRollBackups value="30"/>
    52       <!--日志文件名是否是固定不变的-->
    53       <StaticLogFileName value="true"/>
    54       <lockingModel type="log4net.Appender.RollingFileAppender+MinimalLock" />
    55       <!--输出格式-->
    56       <layout type="log4net.Layout.PatternLayout">
    57         <!--输出格式-->
    58         <conversionPattern value="%d [%-5p] [%t%] -%m%n"/>
    59       </layout>
    60       <!--控制器,只记录级别在WARN-FATAL之间的信息-->
    61       <filter type="log4net.Filter.LevelRangeFilter">
    62         <levelMin value="WARN" />
    63         <levelMax value="FATAL" />
    64       </filter>
    65     </appender>
    66   </log4net>
    67 </configuration>

    3.  LogHelper.cs

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace WHC.Framework.Starter
     7 {
     8     public class LogHelper
     9     {
    10         private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    11 
    12         /// <summary>  
    13         /// 程序运行的过程中的,一般信息可以调用此方法记录日记  
    14         /// </summary>  
    15         /// <param name="info"></param>  
    16         public static void Info(string info)
    17         {
    18             if (log.IsInfoEnabled)
    19                 log.Info(info);
    20         }
    21 
    22         /// <summary>  
    23         /// 程序出现错误的时候调用此方法记录日记(一般用在出现了异常以后)  
    24         /// </summary>  
    25         /// <param name="info"></param>  
    26         public static void Error(string info)
    27         {
    28             if (log.IsErrorEnabled)
    29                 log.Error(info);
    30         }
    31 
    32         /// <summary>  
    33         ///  程序出现错误的时候调用此方法记录日记(一般用在出现了异常以后)  
    34         /// </summary>  
    35         /// <param name="info"></param>  
    36         /// <param name="ex"></param>  
    37         public static void Error(string info, Exception ex)
    38         {
    39             if (log.IsErrorEnabled)
    40                 log.Error(info, ex);
    41         }
    42 
    43         /// <summary>  
    44         ///  程序出现错误的时候调用此方法记录日记(一般用在出现了异常以后)  
    45         /// </summary>  
    46         /// <param name="ex"></param>  
    47         public static void Error(Exception ex)
    48         {
    49             if (log.IsErrorEnabled)
    50                 log.Error(ex);
    51         }
    52 
    53         //private static string SubMsg(string msg)
    54         //{
    55         //    if (msg.Length > 100)
    56         //        msg = msg.Substring(0, 100);
    57 
    58         //    return msg;
    59         //}
    60     }
    61 }

    本文来自博客园,作者:云辰,转载请注明原文链接:https://www.cnblogs.com/yunchen/p/13753307.html

  • 相关阅读:
    二维码登录网页版微信的实现方式分析
    扒取网站内容(后台方法和前台方法的两种实现)
    网站基本架构模式以及优化方案
    JS 日期对象在浏览器间的若干差异
    Web Farm 和Web Garden
    邓白氏申请和查询
    Xcode 真机调试报错:This application's application-identifier entitleme
    libc++abi.dylib`__cxa_throw: 使用[AVAudioPlayer play]会产生__cxa_throw异常
    ios 瀑布流的那些事情
    ios UIImage 圆形图片剪切方案
  • 原文地址:https://www.cnblogs.com/yunchen/p/13753307.html
Copyright © 2011-2022 走看看