2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

C# log4net 不輸出日志

 昵稱10504424 2013-04-18

一個新項目,直接用了一些之前的代碼,突然跟蹤不到日志了。檢查發(fā)現(xiàn)了原因,特在此記錄。

log4net的配置文件log4net_config.xml

View Code
復制代碼
<?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".txt""/>
        <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".txt""/>
        <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".txt""/>
        <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>
復制代碼

log4net的應用錯誤代碼:

View Code
復制代碼
 public class Log
    {
        private static string DefaultName = "log";

        static Log()
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + @"\log4net_config.xml";
            log4net.Config.XmlConfigurator.Configure(new FileInfo(path));
        }

        public static log4net.ILog GetLog(string logName)
        {
            log4net.ILog log = log4net.LogManager.GetLogger(logName);
            return log;
        }

        public static void debug(string message)
        {
            log4net.ILog log = log4net.LogManager.GetLogger(DefaultName);
            if (log.IsDebugEnabled)
                log.Debug(message);

            log = null;
        }

        public static void debug(string message, Exception ex)
        {
            log4net.ILog log = log4net.LogManager.GetLogger(DefaultName);
            if (log.IsDebugEnabled)
                log.Debug(message, ex);

            log = null;
        }

        public static void error(string message)
        {
            log4net.ILog log = log4net.LogManager.GetLogger(DefaultName);
            if (log.IsErrorEnabled)
                log.Error(message);

            log = null;
        }

        public static void error(string message, Exception ex)
        {
            log4net.ILog log = log4net.LogManager.GetLogger(DefaultName);
            if (log.IsErrorEnabled)
                log.Error(message, ex);

            log = null;
        }

        public static void fatal(string message)
        {

            log4net.ILog log = log4net.LogManager.GetLogger(DefaultName);
            if (log.IsFatalEnabled)
                log.Fatal(message);

            log = null;
        }

        public static void info(string message)
        {
            log4net.ILog log = log4net.LogManager.GetLogger(DefaultName);
            if (log.IsInfoEnabled)
                log.Info(message);

            log = null;
        }

        public static void warn(string message)
        {
            log4net.ILog log = log4net.LogManager.GetLogger(DefaultName);
            if (log.IsWarnEnabled)
                log.Warn(message);

            log = null;
        } 
    }
復制代碼

不輸出日志的原因是因為, 默認private static string DefaultName = "log",在配置文件里面找不到對應的節(jié)點值。

正確的應用代碼:

View Code
復制代碼
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);
        } 
    }

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多