最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用log4net的3種調用方法

 更新時間:2024年03月01日 09:04:32   作者:summer_top  
log4net是一個用于記錄日志的開源框架,它是C#中最常用的日志記錄工具之一,本文給大家介紹了C#使用log4net的3種調用方法,通過圖文和代碼給大家講解的非常詳細,需要的朋友可以參考下

第一步:下載log4net

右鍵項目引用,進入管理NuGet包。

搜索log4net,下載安裝。

第二步:創(chuàng)建LogHelper類

public class LogHelper
    {
        private LogHelper()
        {
 
        }
        public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
        public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
        public static void SetConfig()
        {
            log4net.Config.XmlConfigurator.Configure();
        }
        public static void SetConfig(FileInfo configFile)
        {
            log4net.Config.XmlConfigurator.Configure(configFile);
        }
        public static void WriteLog(string info)
        {
            if (loginfo.IsInfoEnabled)
            {
                loginfo.Info(info);
            }
        }
        public static void WriteLog(string info, Exception se)
        {
            if (logerror.IsErrorEnabled)
            {
                logerror.Error(info, se);
            }
        }
    }

第三步:配置Log4Net并輸出日志,下面介紹三種調用方法

方法一:在已有App.config中配置Log4Net

App.config代碼如下。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 
  <configSections>
   <!-- log4net的定義 -->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>
  
  <log4net>
    <logger name="logerror">
      <level value="ERROR" />
      <appender-ref ref="ErrorAppender" />
    </logger>
    <logger name="loginfo">
      <level value="INFO" />
      <appender-ref ref="InfoAppender" />
    </logger>
 
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\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>
     <!--&lt; &gt; = <> %n = 回車-->
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogInfo\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <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="日志時間:%d %n日志級別:%-5p  %n日志內容:%m%n%n" />
      </layout>
    </appender>
  </log4net>
  
</configuration>

在項目的 AssemblyInfo.cs 文件中注冊Config文件

[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]

主程序調用:

public MainWindow()
        {
            InitializeComponent();
            LogHelper.WriteLog("我是LogHelper日志輸出:在已有App.config中配置Log4Net");
        }

運行結果:

方法二:項目中創(chuàng)建新的log4net.config文件

首先右鍵項目,添加新建項,添加新的應用程序配置文件log4net.config,log4net配置信息和方法一相同。

log4net.config代碼如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <log4net>
    <logger name="logerror">
      <level value="ERROR" />
      <appender-ref ref="ErrorAppender" />
    </logger>
    <logger name="loginfo">
      <level value="INFO" />
      <appender-ref ref="InfoAppender" />
    </logger>
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\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>
      <!--&lt; &gt; = <> %n = 回車-->
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogInfo\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <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="日志時間:%d %n日志級別:%-5p  %n日志內容:%m%n%n" />
      </layout>
    </appender>
  </log4net>
</configuration>

再設置log4net.config的屬性:將 “復制到輸出目錄” 的值改為 如果較新則復制。

然后在項目的 AssemblyInfo.cs 文件中注冊Config文件:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]

ConfigFile: 配置文件名和路徑,包括擴展名,文件相對于程序的根目錄。

ConfigFileExtension:配置文件的后綴名,缺省默認時'config',此屬性不可和ConfigFile屬性公用。

最后主程序調用:

public MainWindow()
        {
            InitializeComponent();
            LogHelper.WriteLog("我是LogHelper日志輸出:在項目中創(chuàng)建新的log4net.config文件");
        }

運行結果:

方法三:顯示調用配置文件

首先創(chuàng)建log4net.xml配置文件,代碼如下。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <log4net>
    <logger name="logerror">
      <level value="ERROR" />
      <appender-ref ref="ErrorAppender" />
    </logger>
    <logger name="loginfo">
      <level value="INFO" />
      <appender-ref ref="InfoAppender" />
    </logger>
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\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>
      <!--&lt; &gt; = <> %n = 回車-->
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogInfo\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <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="日志時間:%d %n日志級別:%-5p  %n日志內容:%m%n%n" />
      </layout>
    </appender>
  </log4net>
</configuration>

使用LogHelper類中SetConfig(FileInfo configFile)方法配置log4net。 log4net.Config.XmlConfigurator.Configure(FileInfo(path)),path為log4net.xml的全路徑。

主程序調用:

 public MainWindow()
        {
            InitializeComponent();
            LogHelper.SetConfig(new FileInfo("D:\\Log4NetDemo\\log4net.xml"));
            LogHelper.WriteLog("我是LogHelper日志輸出:顯示調用");
        }

運行結果:

三種調用方法,都能夠正常打印日志。

以上就是C#使用log4net的3種調用方法的詳細內容,更多關于C#使用log4net的資料請關注腳本之家其它相關文章!

相關文章

  • C# 基于消息發(fā)布訂閱模型的示例(上)

    C# 基于消息發(fā)布訂閱模型的示例(上)

    這篇文章主要介紹了C# 基于消息發(fā)布訂閱模型的示例,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C# 基礎入門--變量

    C# 基礎入門--變量

    本文主要介紹了C#中變量的基礎知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • C#實現(xiàn)異步操作的幾種方式

    C#實現(xiàn)異步操作的幾種方式

    在C#中,異步操作可以提高程序的性能和響應能力,本文主要介紹了C#實現(xiàn)異步操作的幾種方式,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • C#中如何正確的使用字符串String

    C#中如何正確的使用字符串String

    這篇文章主要給大家介紹了關于在C#中如何正確的使用字符串String的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • c#發(fā)送請求訪問外部接口的實例

    c#發(fā)送請求訪問外部接口的實例

    這篇文章主要介紹了c#發(fā)送請求訪問外部接口的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • C#爬蟲基礎之HttpClient獲取HTTP請求與響應

    C#爬蟲基礎之HttpClient獲取HTTP請求與響應

    這篇文章介紹了C#使用HttpClient獲取HTTP請求與響應的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • 解析美國東部時間與北京時間相互轉換的實現(xiàn)代碼

    解析美國東部時間與北京時間相互轉換的實現(xiàn)代碼

    本篇文章是對美國東部時間與北京時間相互轉換的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C# 方法的遞歸調用實現(xiàn)

    C# 方法的遞歸調用實現(xiàn)

    在C#中,遞歸調用是指一個方法調用自身的過程,本文主要介紹了C# 方法的遞歸調用實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • C#?wpf實現(xiàn)控件刷新的示例代碼

    C#?wpf實現(xiàn)控件刷新的示例代碼

    這篇文章主要為大家詳細介紹了C#?wpf實現(xiàn)控件刷新的相關知識,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • WPF中使用WebView2控件的方法及常見問題

    WPF中使用WebView2控件的方法及常見問題

    WebView2為WPF網頁瀏覽工具,具有簡單易用,頁面顯示清晰的優(yōu)點,下面這篇文章主要給大家介紹了關于WPF中使用WebView2控件的方法及常見問題,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02

最新評論

宁安市| 玛多县| 昂仁县| 达拉特旗| 皮山县| 同仁县| 宜兰县| 德化县| 锡林浩特市| 赣榆县| 邹城市| 盐津县| 黔西县| 诸暨市| 临夏市| 珲春市| 保靖县| 永登县| 清新县| 乌审旗| 南漳县| 和硕县| 长顺县| 丹凤县| 旅游| 溧阳市| 靖宇县| 屏东县| 宣武区| 静海县| 惠来县| 乳山市| 武隆县| 太原市| 普兰县| 韩城市| 绥江县| 凌源市| 余庆县| 绥滨县| 长垣县|