zoukankan      html  css  js  c++  java
  • log4

    <?xml version="1.0"?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
      </configSections>
      <!--日志记录组建配置-->
      <log4net>
    
        <logger name="ExceptionLogger">
          <level value="ERROR" />
          <appender-ref ref="ExceptionFileAppender" />
          <!--<appender-ref ref="ConsoleAppender" />-->
        </logger>
    
        <logger name="InfoLogger">
          <level value="INFO" />
          <appender-ref ref="InfoFileAppender" />
          <!--<appender-ref ref="ConsoleAppender" />-->
        </logger>
    
        <logger name="DebugLogger">
          <level value="All" />
          <appender-ref ref="DebugFileAppender" />
          <!--<appender-ref ref="ConsoleAppender" />-->
        </logger>
    
        <!-- Exception -->
        <appender name="ExceptionFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="LogsException" />
          <appendToFile value="true" />
          <rollingStyle value="Date" />
          <datePattern value="yyyyMMdd'..log'" />
          <staticLogFileName value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <header value="------------------------------------------------------------&#xD;&#xA;" />
            <ConversionPattern value="&#xD;&#xA;%date [%thread] - %message%newline%newline" />
          </layout>
          <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="ERROR"/>
            <param name="LevelMax" value="ERROR"/>
          </filter>
        </appender>
    
        <!-- Info -->
        <appender name="InfoFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="LogsInfo" />
          <appendToFile value="true" />
          <rollingStyle value="Date" />
          <datePattern value="yyyyMMdd'..log'" />
          <staticLogFileName value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <header value="------------------------------------------------------------&#xD;&#xA;" />
            <ConversionPattern value="%date [%thread] - %message%newline%newline" />
          </layout>
          <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="INFO"/>
            <param name="LevelMax" value="INFO"/>
          </filter>
        </appender>
    
        <!-- Debug -->
        <appender name="DebugFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="LogsDebug" />
          <appendToFile value="true" />
          <rollingStyle value="Date" />
          <datePattern value="yyyyMMdd'..log'" />
          <staticLogFileName value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <header value="------------------------------------------------------------&#xD;&#xA;" />
            <ConversionPattern value="%date [%thread] - %message%newline%newline" />
          </layout>
          <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG"/>
            <param name="LevelMax" value="DEBUG"/>
          </filter>
        </appender>
    
        <!-- Console部分log输出格式的设定 -->
        <!--<appender name="ConsoleAppender" type="log4net.Appender.RollingFileAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] - %message%newline%newline" />
          </layout>
        </appender>-->
    
        <!-- Setup the root category, add the appenders and set the default level -->
        <root>
          <!--<level value="ALL" />-->
          <appender-ref ref="ExceptionFileAppender" />
          <appender-ref ref="InfoFileAppender" />
          <appender-ref ref="DebugFileAppender" />
        </root>
      </log4net>
    </configuration>

    logger

        public static class Logger
        {
            static ILog log;
    
            static Logger()
            {
                string strPath = System.AppDomain.CurrentDomain.BaseDirectory;
                strPath = System.IO.Path.Combine(strPath, "log4net.config");
                System.IO.FileInfo log4File = new System.IO.FileInfo(strPath);
                log4net.Config.XmlConfigurator.Configure(log4File); 
                log = LogManager.GetLogger("AdoNet");
            }
    
            /// <summary>
            /// 记录信息
            /// </summary>
            /// <param name="argContent"></param>
            public static void LogInfo(string argContent)
            {
                log.Info(argContent);
            }
    
            /// <summary>
            /// 记录信息
            /// </summary>
            /// <param name="argObj"></param>
            public static void LogInfo(object argObj)
            {
                log.Info(new { argObj });
            }
    
            /// <summary>
            /// 记录错误
            /// </summary>
            /// <param name="message"></param>
            /// <param name="exception"></param>
            public static void LogError(string message,System.Exception exception)
            {
                log.Error(message, exception);
            }
    
            /// <summary>
            /// 记录错误
            /// </summary>
            /// <param name="message"></param>
            /// <param name="exception"></param>
            public static void LogError( object message,System.Exception exception)
            {
                log.Error(new {message = message, exception});
            }
    
    
            /// <summary>
            /// 记录错误
            /// </summary>
            /// <param name="error"></param>
            public static void LogError(string error)
            {
                log.Error(new {error = error});
            }
        }

    调用


    Logger.LogError("Error?");
    Logger.LogInfo("Info");

  • 相关阅读:
    CF-911E.Stack Sorting(栈)
    随机算法 && CodeForces
    CF-579D."Or" Game(或运算)
    CF-242E.XOR on Segment(异或线段树)
    莫队 && 洛谷 P1494 [国家集训队]小Z的袜子
    洛谷 P4168 [Violet]蒲公英(分块)
    分块 && 洛谷 P2801 教主的魔法
    启发式合并 && U41492 树上数颜色
    使用mysqlbinlog server远程备份binlog的脚本
    mysqldump备份过程中都干了些什么
  • 原文地址:https://www.cnblogs.com/xuxu-dragon/p/5029186.html
Copyright © 2011-2022 走看看