免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
C# log4net 不輸出日志

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

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);
        } 
    }
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Log4Net的配置
.NET Core log4net 使用
.NET Core 下使用 Log4Net 記錄日志
文件并發(fā)(日志處理)
Log4net日志記錄組件的使用步驟詳解和下載
Log4j2的XML和properties配置方式
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服