zoukankan      html  css  js  c++  java
  • Log4Net使用记录

    NuGet搜索log4net,下载

    image

    在配置文件节点下添加下面信息

    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>
    
    <log4net>
        <!--错误日志类-->
        <logger name="logerror">
          <!--日志类的名字-->
          <level value="ALL" />
          <!--定义记录的日志级别-->
          <appender-ref ref="ErrorAppender" />
          <!--记录到哪个介质中去-->
        </logger>
        <!--信息日志类-->
        <logger name="loginfo">
          <level value="ALL" />
          <appender-ref ref="InfoAppender" />
        </logger>
        <!--错误日志附加介质-->
        <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
          <!-- name属性指定其名称,type则是log4net.Appender命名空间的一个类的名称,意思是,指定使用哪种介质-->
          <param name="File" value="Log\LogError\" />
          <!--<param name="File" value="D:\Test\20181023\" />-->
          <!--日志输出到exe程序这个相对目录下-->
          <param name="AppendToFile" value="true" />
          <!--输出的日志不会覆盖以前的信息-->
          <param name="MaxSizeRollBackups" value="100" />
          <!--备份文件的个数-->
          <param name="MaxFileSize" value="10240" />
          <!--当个日志文件的最大大小-->
          <param name="StaticLogFileName" value="false" />
          <!--是否使用静态文件名-->
          <param name="DatePattern" value="yyyyMMddhh&quot;.htm&quot;" />
          <!--日志文件名-->
          <param name="RollingStyle" value="Date" />
          <!--文件创建的方式,这里是以Date方式创建-->
          <!--错误日志布局-->
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="&lt;HR COLOR=red&gt;%n异常时间:%d [%t] &lt;BR&gt;%n异常级别:%-5p &lt;BR&gt;%n异 常 类:%c [%x] &lt;BR&gt;%n%m &lt;BR&gt;%n &lt;HR Size=1&gt;"  />
          </layout>
        </appender>
        <!--信息日志附加介质-->
        <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="Log\LogInfo\" />
          <param name="AppendToFile" value="true" />
          <param name="MaxFileSize" value="10240" />
          <param name="MaxSizeRollBackups" value="100" />
          <param name="StaticLogFileName" value="false" />
          <param name="DatePattern" value="yyyyMMddhh&quot;.htm&quot;" />
          <param name="RollingStyle" value="Date" />
          <!--信息日志布局-->
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="&lt;HR COLOR=blue&gt;%n日志时间:%d [%t] &lt;BR&gt;%n日志级别:%-5p &lt;BR&gt;%n日 志 类:%c [%x] &lt;BR&gt;%n%m &lt;BR&gt;%n &lt;HR Size=1&gt;"  />
          </layout>
        </appender>
      </log4net>
    

    LogHelper.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    [assembly: log4net.Config.XmlConfigurator(Watch = true)]/*, ConfigFile = "Log4net.config"*/
    namespace Log4netDemo
    {
        class LogHelper
        {
            /// <summary>
            /// 输出日志到Log4Net
            /// </summary>
            /// <param name="t"></param>
            /// <param name="ex"></param>
            #region static void WriteLog(Type t, Exception ex)
    
            public static void WriteLog(Type t, Exception ex)
            {
                log4net.ILog log = log4net.LogManager.GetLogger(t);
                log.Error("Error", ex);
            }
    
            #endregion
    
            /// <summary>
            /// 输出日志到Log4Net
            /// </summary>
            /// <param name="t"></param>
            /// <param name="msg"></param>
            #region static void WriteLog(Type t, string msg)
    
            public static void WriteLog(Type t, string msg)
            {
                log4net.ILog log = log4net.LogManager.GetLogger(t);
                log.Error(msg);
            }
    
            #endregion
    
            /// <summary>
            /// 输出日志
            /// </summary>
            /// <param name="Info">数据信息</param>
            public static void WriteLog(string info)
            {
                log4net.ILog log = log4net.LogManager.GetLogger("loginfo");
    
                log.Info(info);
            }
    
            public static void WriteLog(string info, Exception ex)
            {
                log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
    
                logerror.Error(info, ex);
    
            }
        }
    }
    
    

    该类的命名空间前还应该写上以下代码,不然还不能正常写日志

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

    调用LogHelper的方法就可以输出了

    如出现乱码问题,可在配置文件中加入编码配置

          <!--不加utf-8编码格式,中文字符将显示成乱码-->
          <param name="Encoding" value="utf-8" />  
    
  • 相关阅读:
    UILabel 自适应大小
    CGAffineTransformScale
    CAKeyframeAnimation
    CABasicAnimation
    IOS 动画
    xcode 怎么样在发布release版本的时候 不输出log
    [转贴] C++ 判断主机是否处于联网状态下
    [转贴] 从零开始学C++之异常(二):程序错误、异常(语法、抛出、捕获、传播)、栈展开
    [转贴]从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介
    [转贴]gsoap使用心得!
  • 原文地址:https://www.cnblogs.com/peijia/p/10460825.html
Copyright © 2011-2022 走看看