天天看點

開源架構 - 日志記錄Log4Net(一)

Log4Net簡介

百度百科

log4net庫是Apache log4j架構在Microsoft .NET平台的實作,是一個幫助程式員将日志資訊輸出到各種目标(控制台、檔案、資料庫等)的工具。

log4net是Apache軟體基金會Apache Logging Services工程的一部分。Apache日志服務工程緻力于為程式調試和審計提供跨語言的日志服務。

如何使用Log4Net

首先建立一個控制台應用程式。

1、在NuGet中引用Log4Net

開源架構 - 日志記錄Log4Net(一)

2、修改App.config(如果不存在App.config檔案,就手動添加一個)

<?xml version="1.0" encoding="utf-8" ?>     <configuration>       <!--log4net配置-->       <configSections>         <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>       </configSections>       <log4net>         <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->         <!-- Set root logger level to ERROR and its appenders -->         <root>           <!--定義記錄的日志級别-->           <level value="ALL"/>           <!--記錄到哪個媒體中去-->           <appender-ref ref="SysAppender"/>         </root>         <!-- Print only messages of level DEBUG or above in the packages -->         <!--日志類的名字-->         <logger name="errorMsg">           <level value="DEBUG"/>         </logger>         <!--可以将日志輸出到不同的地方,不同的輸出目标對應不同的Appender-->         <!--RollingFileAppender(滾動檔案)、AdoNetAppender(資料庫)、SmtpAppender (郵件)等-->         <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >           <!--日志檔案的輸出路徑-->           <param name="File" value="Log/" />           <!--追加的方式添加到日志檔案中-->           <param name="AppendToFile" value="true" />           <!--按照日期進行滾動-->           <param name="RollingStyle" value="Date" />           <!--日志檔案命名規則-->           <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />           <!--是否使用靜态檔案夾-->           <param name="StaticLogFileName" value="false" />           <!--定義日志的格式-->           <layout type="log4net.Layout.PatternLayout,log4net">             <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />             <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />             <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />           </layout>         </appender>         <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">           <layout type="log4net.Layout.PatternLayout,log4net">             <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />           </layout>         </appender>       </log4net>       <!--log4net配置 結束-->     </configuration>      

3、修改Program代碼

using log4net;     using System;     using System.Collections.Generic;     using System.Linq;     using System.Text;     using System.Threading.Tasks;     namespace Log4NetDemo     {         class Program         {             static void Main(string[] args)             {                 // 非常關鍵,寫在程式入口處,完成Log4Net的配置                 log4net.Config.XmlConfigurator.Configure();                 // 擷取log4net配置資訊                 ILog logger = LogManager.GetLogger("errorMsg");                 // 向日志檔案中追加一句話                 logger.Error("Log4Net系統測試");                 Console.ReadKey();             }         }     }      

4、測試結果

啟動調試,可以在Debug路徑下看到如下資訊

開源架構 - 日志記錄Log4Net(一)

我們也可以通過修改App.config檔案,實作往資料庫中寫日志和發送郵件等操作。 

  作者:Jeremy.Wu

  出處:https://www.cnblogs.com/jeremywucnblog/

  本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

繼續閱讀