zoukankan      html  css  js  c++  java
  • Log4net配置

    <?xml version="1.0" encoding="utf-8" ?>
    
    <log4net>
    
        <appender name="TastInfo" type="log4net.Appender.RollingFileAppender">
    
            <file value="Log\Info\" />
    
            <appendToFile value="true" />
    
            <rollingStyle value="Composite" />
    
            <maxSizeRollBackups value="-1" />
    
            <maximumFileSize value="1MB" />
    
            <staticLogFileName value="false" />
    
            <DatePattern value="yyyy-MM-dd&quot;.txt&quot;"/>
    
            <layout type="log4net.Layout.PatternLayout">
    
                <conversionPattern value="%date  %-5level  - %message%newline" />
    
            </layout>
    
        </appender>
    
        <appender name="TastError" type="log4net.Appender.RollingFileAppender">
    
            <file value="log\Error\" />
    
            <appendToFile value="true" />
    
            <rollingStyle value="Composite" />
    
            <maxSizeRollBackups value="-1" />
    
            <maximumFileSize value="1MB" />
    
            <staticLogFileName value="false" />
    
            <DatePattern value="yyyy-MM-dd&quot;.txt&quot;"/>
    
            <layout type="log4net.Layout.PatternLayout">
    
                <conversionPattern value="%date  %-5level - %message%newline" />
    
            </layout>
    
        </appender>
    
        <appender name="TastDebug" type="log4net.Appender.RollingFileAppender">
    
            <file value="log\Debug\" />
    
            <appendToFile value="true" />
    
            <rollingStyle value="Composite" />
    
            <maxSizeRollBackups value="-1" />
    
            <maximumFileSize value="1MB" />
    
            <staticLogFileName value="false" />
    
            <DatePattern value="yyyy-MM-dd&quot;.txt&quot;"/>
    
            <layout type="log4net.Layout.PatternLayout">
    
                <conversionPattern value="%date  %-5level - %message%newline" />
    
            </layout>
    
        </appender>
    
        <logger name="Info">
    
            <level value="ALL"/>
    
            <appender-ref ref="Info" />
    
            <appender-ref ref="TastInfo" />
    
        </logger>
    
        <logger name="Error">
    
            <level value="ALL"/>
    
            <appender-ref ref="Error" />
    
            <appender-ref ref="TastError" />
    
        </logger>
    
        <logger name="Debug">
    
            <level value="ALL"/>
    
            <appender-ref ref="Debug" />
    
            <appender-ref ref="TastDebug" />
    
        </logger>
    
    </log4net>
    public class Log
    
        {
    
            private const string SError = "Error";
    
            private const string SDebug = "Debug";
    
            private const string DefaultName = "Info";
    
    
    
            static Log()
    
            {
    
                var path = AppDomain.CurrentDomain.BaseDirectory + @"log4net_config.xml";
    
                log4net.Config.XmlConfigurator.Configure(new FileInfo(path));
    
            }
    
    
    
            public static log4net.ILog GetLog(string logName)
    
            {
    
                var log = log4net.LogManager.GetLogger(logName);
    
                return log;
    
            }
    
    
    
            public static void Debug(string message)
    
            {
    
                var log = log4net.LogManager.GetLogger(SDebug);
    
                if (log.IsDebugEnabled)
    
                    log.Debug(message);
    
            }
    
    
    
            public static void Debug(string message, Exception ex)
    
            {
    
                var log = log4net.LogManager.GetLogger(SDebug);
    
                if (log.IsDebugEnabled)
    
                    log.Debug(message, ex);
    
            }
    
    
    
            public static void Error(string message)
    
            {
    
                var log = log4net.LogManager.GetLogger(SError);
    
                if (log.IsErrorEnabled)
    
                    log.Error(message);
    
            }
    
    
    
            public static void Error(string message, Exception ex)
    
            {
    
                var log = log4net.LogManager.GetLogger(SError);
    
                if (log.IsErrorEnabled)
    
                    log.Error(message, ex);
    
            }
    
    
    
            public static void Fatal(string message)
    
            {
    
                var log = log4net.LogManager.GetLogger(DefaultName);
    
                if (log.IsFatalEnabled)
    
                    log.Fatal(message);
    
            }
    
    
    
            public static void Info(string message)
    
            {
    
                log4net.ILog log = log4net.LogManager.GetLogger(DefaultName);
    
                if (log.IsInfoEnabled)
    
                    log.Info(message);
    
            }
    
    
    
            public static void Warn(string message)
    
            {
    
                var log = log4net.LogManager.GetLogger(DefaultName);
    
                if (log.IsWarnEnabled)
    
                    log.Warn(message);
    
            } 
    
        }

    不输出日志的原因是因为, 默认private static string DefaultName = "log",在配置文件里面找不到对应的节点值。

    总结:log4net.LogManager.GetLogger(Name),这里面的Name要在配置文件中,有对应的节点值。

    还有就是,假如在web.config里指定了一下信息:
    <!--日志配置文件路径-->
    <add key="log4net" value="\config\log4net_local.config" />

    则务必将在根目录下创建文件夹“config”,并将配置文件log4net_local.config放入config文件夹,这样才确保输出日志文件夹Log。

    转载地址:http://www.cnblogs.com/chendaoyin/archive/2013/04/17/3026717.html

  • 相关阅读:
    LeetCode :: Validate Binary Search Tree[具体分析]
    一世12年龄在泥土还在打,硅谷00创业毕竟开始播放!
    大学毕业生上班第一天6月3号码
    发送到快捷方式不见了
    【转】三种方式在C++中调用matlab
    【转】C++调用Matlab的.m文件
    C++函数模板与模板函数
    Visual Studio 行末回车时运算符两侧自动加空格是怎么设置的
    java回顾4 Java基本数据类型
    zoj 2402
  • 原文地址:https://www.cnblogs.com/zhao123/p/3917176.html
Copyright © 2011-2022 走看看