zoukankan      html  css  js  c++  java
  • Log4web独立config配置

    第一步:config配置,独立文件的

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
      </configSections>
    
      <log4net>
        <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
        <!-- Set root logger level to ERROR and its appenders -->
        <root>
          <level value="ALL"/>
          <!--<appender-ref ref="SysAppender"/>-->
        </root>
    
        <!-- Print only messages of level DEBUG or above in the packages -->
        <logger name="SysAppenderLogger">
          <level value="ALL"/>
          <appender-ref ref="SysAppender"/>
        </logger>
        <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
          <param name="File" value="Logger/ttt/" />
          <param name="AppendToFile" value="true" />
          <param name="RollingStyle" value="Date" />
          <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
          <param name="StaticLogFileName" value="false" />
          <layout type="log4net.Layout.PatternLayout,log4net">
            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
            <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
            <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />
          </layout>
        </appender>
    
        <logger name="WeiXinResultLogger">
          <level value="ALL"/>
          <appender-ref ref="WeiXinResult"/>
        </logger>
        <appender name="WeiXinResult" type="log4net.Appender.RollingFileAppender,log4net" >
          <param name="File" value="Logger/weixinresult/" />
          <param name="AppendToFile" value="true" />
          <param name="RollingStyle" value="Date" />
          <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
          <param name="StaticLogFileName" value="false" />
          <layout type="log4net.Layout.PatternLayout,log4net">
            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
            <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
            <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />
          </layout>
        </appender>
    
      </log4net>
    </configuration>

    第二步:log4Helper配置

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Linq;
    using System.Web;
    
    [assembly: log4net.Config.XmlConfigurator(ConfigFile = @"weixinLog4.config", Watch = true)]
    namespace SERP3.Common
    {
        /// <summary>
        ///错误记录日志 
        ///注意:在需要记录log的类前加入[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"weixinLog4.config", Watch = true)]
        /// </summary>
        public class Log4Helper
        {
    
            //private static readonly log4net.ILog log = log4net.LogManager.GetLogger("SysAppender123Logger");
            //private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);//动态获得名称
    
            public Log4Helper()
            {
    
            }
             
            private static log4net.ILog log(string appenderName)
            {
                return log4net.LogManager.GetLogger(appenderName);
            }
    
            public static void LogInfo(string Message, string appenderName = "defaultLogger")
            {
                log4net.ILog logger = log(appenderName);
                if (logger.IsInfoEnabled) logger.Info(Message);
            }
    
            public static void LogInfo(string appenderName, string Message, Exception ex)
            {
                log4net.ILog logger = log(appenderName);
                if (logger.IsInfoEnabled)
                    logger.Info(Message, ex);
            }
            public static void ErrorInfo(string appenderName, string Message)
            {
                log4net.ILog logger = log(appenderName);
                if (logger.IsInfoEnabled) logger.Error(Message);
            }
    
            public static void ErrorInfo(string appenderName, string Message, Exception ex)
            {
                log4net.ILog logger = log(appenderName);
                if (logger.IsInfoEnabled)
                    logger.Error(Message, ex);
            }
            //public static void DebugInfo(string appenderName, string Message)
            //{
            //    if (!log(appenderName).IsInfoEnabled)
            //        SetConfig();
            //    log(appenderName).Debug(Message);
            //}
    
        }
    }

    第三步:调用

    try
            {
                Result result = CreateResult(xmlStr);
                res = result.Save();
            }
            catch (Exception ex)
            {
                SERP3.Common.Log4Helper.ErrorInfo("WeiXinResultLogger",ex.Message+xmlStr,ex);
            }

    注意点:1.[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"weixinLog4.config", Watch = true)]

    namespace SERP3.Common
    {
  • 相关阅读:
    INV接口管理器
    取会计科目之数字
    两个有用的oracle数据库运算:intersect和minus运算
    弹出“FRM40400:事务完成:已应用和保存X条记录
    JSP连接数据库
    javaScript JSP HTML Java CSS 注释
    Android开发环境搭建全过程
    用JAVA 实现“生产者-消费者”问题
    路由器如何当交换机使用
    validateJarFile jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet
  • 原文地址:https://www.cnblogs.com/zhuyapeng/p/5630509.html
Copyright © 2011-2022 走看看