.NET下關於log4net的使用方法的圖文代碼分享

來源:互聯網
上載者:User
這篇文章主要為大家詳細介紹了.net下log4net使用方法,以控制台應用程式為例,具有一定的參考價值,感興趣的小夥伴們可以參考一下

本文執行個體為大家分享了.net下log4net的使用方法,供大家參考,具體內容如下

這裡以控制台應用程式為例

首先是要添加引用:

安裝後可以看到項目中多了log4net的引用:

添加應用程式設定檔app.config,配置log4net


<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net> <!-- Define some output appenders --> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">  <!--日誌路徑-->  <file value="test.txt"/>  <!--是否向檔案中追加日誌-->  <appendToFile value="true"/>  <!--日誌保留天數-->  <maxSizeRollBackups value="10"/>  <!--每個檔案的大小。只在混合方式與檔案大小方式下使用。超出大小後在所有檔案名稱後自動增加正整數重新命名,數字最大的最早寫入。可用的單位:KB|MB|GB。不要使用小數,否則會一直寫入當前日誌-->  <maximumFileSize value="1024KB"/>  <!--按照何種方式產生多個記錄檔(日期[Date],檔案大小[Size],混合[Composite])-->  <rollingStyle value="Size"/>  <!--否唯寫到一個檔案中-->  <staticLogFileName value="true"/>  <layout type="log4net.Layout.PatternLayout">  <!--記錄時間:%date 線程ID:[%thread] 記錄層級:%-5level 記錄類:%logger  操作者ID:%property{Operator} 操作類型:%property{Action}%n    當前機器名:%property%n當前機器名及登入使用者:%username %n    記錄位置:%location%n 訊息描述:%property{Message}%n     異常:%exception%n 訊息:%message%newline%n%n-->  <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>  </layout> </appender> <root>  <level value="DEBUG"/>  <appender-ref ref="RollingLogFileAppender"/> </root> </log4net></configuration>

在Program.cs中添加代碼:


static void Main(string[] args){ log4net.Config.XmlConfigurator.Configure(); //建立日誌記錄組件執行個體 ILog log = log4net.LogManager.GetLogger(typeof(Program)); //記錄錯誤記錄檔 log.Error("發生了錯誤:", new Exception("log4net的測試錯誤資訊")); //記錄致命的錯誤 log.Fatal("發生了致命的錯誤:", new Exception("log4net測試致命資訊")); //記錄一般資訊 log.Info("log4net的一般資訊"); //記錄調試資訊 log.Debug("log4net的調試資訊"); //記錄警告資訊 log.Warn("log4net警告資訊"); Console.WriteLine("ok"); Console.ReadKey();}

運行程式

這裡是控制台應用程式 ,如果是Web應用程式,可以在Global.asax.cs中Application_Start方法中調用log4net.Config.XmlConfigurator.Configure(); 在Global.asax.cs中定義一個變數,並在Application_Error中擷取異常並記錄:


public class Global : System.Web.HttpApplication{ private static ILog log = LogManager.GetLogger(typeof(Global)); protected void Application_Start(object sender, EventArgs e) {  log4net.Config.XmlConfigurator.Configure(); } protected void Session_Start(object sender, EventArgs e) { } protected void Application_BeginRequest(object sender, EventArgs e) { } protected void Application_AuthenticateRequest(object sender, EventArgs e) { } protected void Application_Error(object sender, EventArgs e) {  log.Error("發生了異常",Server.GetLastError()); } protected void Session_End(object sender, EventArgs e) { } protected void Application_End(object sender, EventArgs e) { }}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.