溫馨提示×

溫馨提示×

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

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

log4net的使用方法

發(fā)布時間:2021-07-06 10:23:58 來源:億速云 閱讀:122 作者:chen 欄目:大數(shù)據(jù)

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

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

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

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <!--log4net配置節(jié)點-->
    <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日志內(nèi)容:%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異常內(nèi)容:%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錯誤內(nèi)容:%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致命錯誤內(nèi)容:%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警告內(nèi)容:%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()],系統(tǒng)在運行時尋找去默認的配置文件中查找log4net的配置節(jié)點

 寫一個幫助類,使用單例模式創(chuàng)建日志對象

    /// <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;
        }
    }

調(diào)用:

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

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

2.使用新創(chuàng)建的配置文件

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));
}

調(diào)用:

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

到此,關于“l(fā)og4net的使用方法”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

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

AI