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="
----------------------header--------------------------
" />
        <param name="Footer" value="
----------------------footer--------------------------
" />
      </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="
----------------------header--------------------------
" />
        <param name="Footer" value="
----------------------footer--------------------------
" />
      </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 = @"weixin\Log4.config", Watch = true)]
namespace SERP3.Common
{
    /// <summary>
    ///错误记录日志
    ///注意:在需要记录log的类前加入[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"weixin\Log4.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 = @"weixin\Log4.config", Watch = true)]

namespace SERP3.Common
{
时间: 2024-11-15 06:05:18

Log4web独立config配置的相关文章

基础入门_Python-模块和包.深入Celery之应用配置/独立模块配置实践?

配置简介: 说明: Celery的配置文件非常强大,支持在应用上设置,也可以使用一个独立的配置模块,具体需要调整的默认选项可通过http://docs.jinkan.org/docs/celery/configuration.html#configuration 获取. # 方式一 : 直接在应用上设置,通过app.conf.update可一次性设置多个选项,常用于小型项目 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date    : 20

MVC.Net:读取Web.config/App.config配置

需要读取Web.config/App.config的配置很简单,首先我们需要将配置写入到<appSettings>中,例如: <appSettings> <add key="thumbSize_weight" value="300"/> <add key="thumbSize_height" value="300"/> </appSettings> 读取配置语句(需要

Asp.net中的web.config配置

目录 Asp.net中的web.config配置... 1 一. 配置文件保存位置... 2 二. 配置文件加载顺序... 2 三. 配置文件节点介绍... 3 1. . 3 2. . 5 3. . 5 4. . 6 . 11 四. 针对配置文件的一些编程操作... 11 1. 运行时进行配置文件的修改... 11 2. 配置节点的加密... 12 web.config是asp.net中保存配置信息(比如数据库连接字符串等)的重要文件.它是基于xml的文本文件方式放在Web应用程序的任何目录中,

asp.net中web.config配置节点大全详解【转】

web.config 文件查找规则: (1)如果在当前页面所在目录下存在web.config文件,查看是否存在所要查找的结点名称,如果存在返回结果并停止查找. (2)如果当前页面所在目录下不存在web.config文件或者web.config文件中不存在该结点名,则查找它的上级目录,直到网站的根目录. (3)如果网站根目录下不存在web.config文件或者web.config文件中不存在该节点名则在%windir%"Microsoft.NET"Framework"v2.0.

十五天精通WCF——第二天 告别烦恼的config配置

经常搞wcf的基友们肯定会知道,当你的应用程序有很多的“服务引用”的时候,是不是有一种疯狂的感觉...从一个环境迁移到另外一个环境,你需要改变的 endpoint会超级tmd的多,简直就是搞死了人...好了,这篇我们来看看如何最小化配置. 一:精简service的config配置 就像上一篇的代码一样,我的service端的config配置如下: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <config

使用Web.config配置网站信息

最近使用web.config来配置网站信息,在此做一个整体的介绍,方便自己查阅,也方便大家了. 一.ASP.NET配置文件 常用的ASP.NET配置文件包括machine.config与web.config ①machine.config:提供整个机器的默认配置,对该文件的修改影响该机器的所有站点 ②web.config:一般用于应用程序级别的配置文件,对其所作的修改不影响其他站点,也可用于站点下的子目录 二.自定义错误 [csharp] view plaincopyprint? <span>

Web.config配置数据库连接

web.config配置数据库连接 第一种:取连接字符串 string connString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["SqlConnStr"].ConnectionString; 或者 protected static string connectionString = ConfigurationManager.ConnectionStrings["SqlCon

Asp.net Web.Config - 配置元素 caching

记得之前在写缓存DEMO的时候,好像配置过这个元素,好像这个元素还有点常用. 一.caching元素列表 元素 说明 cache 定义全局应用程序缓存设置. 可选的元素. outputCache 指定应用程序范围的输出缓存设置. 可选的元素. outputCacheSettings 指定可以应用于应用程序中页的输出缓存设置. 可选的元素. sqlCacheDependency 为 ASP.NET 应用程序配置 SQL 缓存依赖项. 可选的元素. 1.cache 属性 特性 说明 disableM

web.config配置详细说明

(一).Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明    特点:位于配置文件的顶部,包含在<configSections>标志中. 2.特定应用程序配置    特点: 位于<appSetting>中.可以定义应用程序的全局常量设置等信息. 3.配置节设置    特点: 位于<system.Web>节中,控制Asp.net运行时的行为. 4.配置节组    特点: 用<sectionGroup>标记,可以自定义分组