将Log4net的配置配置到的独立文件中

分类:.Net
2013-02-21 16:36 阅读(?)评论(0)
在独立的配置文件中只需要修改几个地方就能完成:

1. 新建一个配置文件,log4net.config配置方法同成web.config或app.config一致;

2.如果windows应用程序请把配置文件设为:复制到输出目录 修改方法:在log4net.config上右击-->属性--->把"复制到输出目录" 值改为true; 

3.在要用到log4的地方命名空间上边加上:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

 到此,日志就行顺利记录了.


具代码如下:

log4net.config配置文件:

<?xml version="1.0"?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    </configSections>
    <log4net>
        <!--日志以流的方式输出并保存至C:\SiteLog\WeeklyReport\yyyy-MM.LOG文件中 -->
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="C:\SiteLog\WeeklyReport\" />
            <datePattern value="yyyy-MM.LOG" />
            <appendToFile value="true" />
            <rollingStyle value="Date" />
            <staticLogFileName value="false" />
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%date [%-5level] %n -- %m%n" />
            </layout>
        </appender>
        <logger name="WeeklyReportLogger">
            <level value="ALL" />
            <appender-ref ref="RollingLogFileAppender" />
        </logger>
    </log4net>
</configuration>


在使用Log4net类代码:

using System;
using log4net;

[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"log4net.config", Watch = true)]
namespace WeeklyReport.WebUI.Utilities
{       
    public sealed class Log4Logger
    {       
        private static readonly ILog log = LogManager.GetLogger("WeeklyReportLogger");
        static Log4Logger() { log4net.Config.XmlConfigurator.Configure(); }

        /// <summary>
        /// 毁灭性的错误
        /// </summary>
        /// <param name="msg"></param>
        public static void Fatal(object msg)
        {
            if (log.IsFatalEnabled)
                log.Fatal(msg);
        }
        /// <summary>
        /// 毁灭性的错误
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="ex"></param>
        public static void Fatal(object msg, Exception ex)
        {
            if (log.IsFatalEnabled)
                log.Fatal(msg, ex);
        }

        /// <summary>
        /// 错误
        /// </summary>
        /// <param name="msg"></param>
        public static void Error(object msg)
        {
            if (log.IsErrorEnabled)
                log.Error(msg);
        }
        /// <summary>
        /// 错误
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="ex"></param>
        public static void Error(object msg, Exception ex)
        {
            if (log.IsErrorEnabled)
                log.Error(msg, ex);
        }

        /// <summary>
        /// 警告
        /// </summary>
        /// <param name="msg"></param>
        public static void Warn(object msg)
        {
            if (log.IsWarnEnabled)
                log.Warn(msg);
        }
        /// <summary>
        /// 警告
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="ex"></param>
        public static void Warn(object msg, Exception ex)
        {
            if (log.IsErrorEnabled)
                log.Warn(msg, ex);
        }

        /// <summary>
        /// 消息
        /// </summary>
        /// <param name="msg"></param>
        public static void Info(object msg)
        {
            if (log.IsInfoEnabled)
                log.Info(msg);
        }
        /// <summary>
        /// 消息
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="ex"></param>
        public static void Info(object msg, Exception ex)
        {
            if (log.IsInfoEnabled)
                log.Info(msg, ex);
        }

        /// <summary>
        /// 调试信息
        /// </summary>
        /// <param name="msg"></param>
        public static void Debug(object msg)
        {
            if (log.IsDebugEnabled)
                log.Debug(msg);
        }
        /// <summary>
        /// 调试信息
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="ex"></param>
        public static void Debug(object msg, Exception ex)
        {
            if (log.IsDebugEnabled)
                log.Debug(msg, ex);
        }
    }
}

 

 

 
表  情:
加载中...
 

请各位遵纪守法并注意语言文明