中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

log4net的使用方法

發布時間:2021-07-06 10:23:58 來源:億速云 閱讀:128 作者:chen 欄目:大數據

這篇文章主要介紹“log4net的使用方法”,在日常操作中,相信很多人在log4net的使用方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”log4net的使用方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

使用log4net打印日志很方便,以前我都是自己寫日志功能,把錯誤信息寫入到指定文件,使用log4net就省略了這些工作,挺方便的。

使用log4net需要在.config文件中進行配置

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <!--log4net配置節點-->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
  <log4net debug="false">
    <!--普通日志配置-->
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="D:\MyWebLog\LogInfo\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaxFileSize" value="10240" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n日志時間:%d %n日志級別:%-5p%n日志內容:%m%n" />
      </layout>
    </appender>

    <!--異常信息配置-->
    <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="D:\MyWebLog\DebugError\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaxFileSize" value="10240" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n異常時間:%d %n異常級別:%-5p%n異常內容:%m%n" />
      </layout>
    </appender>

    <!--錯誤日志配置-->
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="D:\MyWebLog\LogError\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaxFileSize" value="10240" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n錯誤時間:%d %n錯誤級別:%-5p%n錯誤內容:%m%n" />
      </layout>
    </appender>

    <!--致命錯誤配置-->
    <appender name="FatalAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="D:\MyWebLog\LogFatal\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaxFileSize" value="10240" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n致命錯誤時間:%d %n致命錯誤級別:%-5p%n致命錯誤內容:%m%n" />
      </layout>
    </appender>

    <!--警告信息配置-->
    <appender name="WarnAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="D:\MyWebLog\LogWarn\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaxFileSize" value="10240" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n警告時間:%d %n警告級別:%-5p%n警告內容:%m%n" />
      </layout>
    </appender>
    
    <!--普通日志-->
    <logger name="LogInfo">
      <level value="Info" />
      <appender-ref ref="InfoAppender" />
    </logger>
    
    <!--異常信息-->
    <logger name="LogDebug">
      <level value="Debug" />
      <appender-ref ref="DebugAppender" />
    </logger>
    
    <!--錯誤日志-->
    <logger name="LogError">
      <level value="Error" />
      <appender-ref ref="ErrorAppender" />
    </logger>
    
    <!--致命錯誤-->
    <logger name="LogFatal">
      <level value="Fatal" />
      <appender-ref ref="FatalAppender" />
    </logger>
    
    <!--警告信息-->
    <logger name="LogWarn">
      <level value="Warn" />
      <appender-ref ref="WarnAppender" />
    </logger>
    
  </log4net>
</configuration>
 

配置文件可以使用項目中默認的配置文件,也可以新建.config。

1.使用默認的配置文件

AssemblyInfo.cs中添加[assembly: log4net.Config.XmlConfigurator()],系統在運行時尋找去默認的配置文件中查找log4net的配置節點

 寫一個幫助類,使用單例模式創建日志對象

    /// <summary>
    /// log4net幫助類
    /// </summary>
    public class LogHelper
    {
        private static ILog logInfo = null;//普通日志
        private static ILog logDebug = null;//異常信息
        private static ILog logError = null;//錯誤日志
        private static ILog logFatal = null;//致命錯誤
        private static ILog logWarn = null;//警告信息

        private LogHelper() { }

        /// <summary>
        /// 普通日志
        /// </summary>
        /// <returns></returns>
        public static ILog GetLogInfo()
        {
            if(logInfo == null)
            {
                logInfo = LogManager.GetLogger("LogInfo");
            }
            return logInfo;
        }

        /// <summary>
        /// 異常信息
        /// </summary>
        /// <returns></returns>
        public static ILog GetLogDebug()
        {
            if (logDebug == null)
            {
                logDebug = LogManager.GetLogger("LogDebug");
            }
            return logDebug;
        }

        /// <summary>
        /// 錯誤日志
        /// </summary>
        /// <returns></returns>
        public static ILog GetLogError()
        {
            if (logError == null)
            {
                logError = LogManager.GetLogger("LogError");
            }
            return logError;
        }


        /// <summary>
        /// 致命錯誤
        /// </summary>
        /// <returns></returns>
        public static ILog GetLogFatal()
        {
            if (logFatal == null)
            {
                logFatal = LogManager.GetLogger("LogFatal");
            }
            return logFatal;
        }


        /// <summary>
        /// 警告信息
        /// </summary>
        /// <returns></returns>
        public static ILog GetLogWarn()
        {
            if (logWarn == null)
            {
                logWarn = LogManager.GetLogger("LogWarn");
            }
            return logWarn;
        }
    }

調用:

LogHelper.GetLogInfo().Info("輸出信息");

LogHelper.GetLogError().Error("",new Exception());

2.使用新創建的配置文件

public static readonly ILog logInfo = LogManager.GetLogger("LogInfo");//普通日志
public static readonly ILog logDebug = LogManager.GetLogger("LogDebug");//異常信息
public static readonly ILog logError = LogManager.GetLogger("LogError");//錯誤日志
public static readonly ILog logFatal = LogManager.GetLogger("LogFatal");//致命錯誤
public static readonly ILog logWarn = LogManager.GetLogger("LogWarn");//警告信息

手動查找路徑下的配置文件,進行讀取,添加一下代碼

/// <summary>
/// 加載log4net的日志配置文件
/// </summary>
/// <param name="configFilePath">日志配置文件的完整路徑</param>
public LogHelper(string configFilePath)
{
    if (string.IsNullOrWhiteSpace(configFilePath) || !File.Exists(configFilePath))
    {
        throw new ArgumentNullException("日志配置文件不存在");
    }
        XmlConfigurator.Configure(new FileInfo(configFilePath));
}

調用:

LogHelper.logInfo.Info("輸出信息");
LogHelper.logError.Error("輸出信息", new Exception());

到此,關于“log4net的使用方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西吉县| 鄂伦春自治旗| 伊吾县| 凤阳县| 苍南县| 海淀区| 时尚| 合川市| 梅河口市| 平顺县| 合江县| 封丘县| 石渠县| 磐石市| 黄冈市| 鲁甸县| 综艺| 肇州县| 潮州市| 离岛区| 出国| 徐州市| 霸州市| 张家港市| 信丰县| 石渠县| 德兴市| 五原县| 衢州市| 满城县| 汉阴县| 琼海市| 霍山县| 抚远县| 尉犁县| 四川省| 罗源县| 喀什市| 诸城市| 佳木斯市| 科技|