演示如何利用log4net記錄程序日志信息-創(chuàng)新互聯(lián)

log4net是一個(gè)功能著名的開源日志記錄組件。利用log4net可以方便地將日志信息記錄到文件、控制臺(tái)、Windows事件日志和數(shù)據(jù)庫(kù)(包括 MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)中。并且我們還可以記載控制要記載的日志級(jí)別,可以記載的日志類別包括:FATAL(致命錯(cuò) 誤)、ERROR(一般錯(cuò)誤)、WARN(警告)、INFO(一般信息)、DEBUG(調(diào)試信息)。要想獲取最新版本的log4net組件庫(kù),可以到官方 網(wǎng)站http://logging.apache.org/log4net/下載?,F(xiàn)在的最新版本是1.2.11。

站在用戶的角度思考問題,與客戶深入溝通,找到阿勒泰網(wǎng)站設(shè)計(jì)與阿勒泰網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋阿勒泰地區(qū)。

log4net示例步驟:

1.添加log4net.dll引用

2.配置log4net文件

文件名的命名規(guī)則(WinForm對(duì)應(yīng)的是*.exe.config,WebForm對(duì)應(yīng)的是*.config);配置文件內(nèi)容如下:

  1. <?xml version="1.0" encoding="utf-8" ?> 
  2. <configuration> 
  3.   <configSections> 
  4.     <section name="log4net" type="System.Configuration.IgnoreSectionHandler" /> 
  5.   </configSections> 
  6.   <!-- This section contains the log4net configuration settings --> 
  7.   <log4net> 
  8.     <!-- Define some output appenders --> 
  9.     <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> 
  10.       <param name="File" value="Log/log.txt" /> 
  11.       <param name="AppendToFile" value="true" /> 
  12.       <param name="RollingStyle" value="Date" /> 
  13.       <param name="DatePattern" value="yyyy.MM.dd" /> 
  14.       <param name="StaticLogFileName" value="true" /> 
  15.       <layout type="log4net.Layout.PatternLayout" > 
  16.       <!--每條日志末尾的文字說明--> 
  17.       <!--<footer value="by XMGPS" />--> 
  18.  
  19.       <!-- 
  20.               %m(message):輸出的日志消息,如ILog.Debug(…)輸出的一條消息 
  21.               %n(new line):換行 
  22.               %d(datetime):輸出當(dāng)前語句運(yùn)行的時(shí)刻 
  23.               %r(run time):輸出程序從運(yùn)行到執(zhí)行到當(dāng)前語句時(shí)消耗的毫秒數(shù) 
  24.               %t(thread id):當(dāng)前語句所在的線程ID 
  25.               %p(priority): 日志的當(dāng)前優(yōu)先級(jí)別,即DEBUG、INFO、WARN…等 
  26.               %c(class):當(dāng)前日志對(duì)象的名稱,例如: 
  27.               %f(file):輸出語句所在的文件名。 
  28.               %l(line):輸出語句所在的行號(hào)。 
  29.               %數(shù)字:表示該項(xiàng)的最小長(zhǎng)度,如果不夠,則用空格填充,如“%-5level”表示level的最小寬度是5個(gè)字符,如果實(shí)際長(zhǎng)度不夠5個(gè)字符則以空格填充。 
  30.          --> 
  31.         <param name="ConversionPattern" value="datetime:%d thread id:[%t] line:%l class:%c - %m%n" /> 
  32.       </layout> 
  33.     </appender> 
  34.     <!-- Setup the root category, add the appenders and set the default priority --> 
  35.     <root> 
  36.       <level value="ALL" /> 
  37.       <!--文件形式記錄日志--> 
  38.       <appender-ref ref="LogFileAppender" /> 
  39.     </root> 
  40.   </log4net> 
  41. </configuration> 

注意:將配置好的文件放置到您的可執(zhí)行目錄下;eg:

3.編寫代碼:

  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.ComponentModel; 
  4. using System.Data; 
  5. using System.Drawing; 
  6. using System.Linq; 
  7. using System.Text; 
  8. using System.Windows.Forms; 
  9. using System.Reflection; 
  10. using log4net; 
  11.  
  12. //注意下面的語句一定要加上,指定log4net使用.config文件來讀取配置信息 
  13. //如果是WinForm(假定程序?yàn)長(zhǎng)og4netDemo.exe,則需要一個(gè)Log4netDemo.exe.config文件); 
  14. //將Log4netDemo.exe.config文件拷貝到可執(zhí)行文件目錄下; 
  15.  
  16. //[assembly: log4net.Config.XmlConfigurator(Watch = true)](在需要使用log4net的類的namespace處),如果沒有這句就會(huì)在調(diào)試時(shí)得到如下留言中所說的“程序調(diào)試起來時(shí)isDebugEnable"的情況 
  17. //如果你嫌麻煩,只需要在包含Main()的類中加[assembly: log4net.Config.XmlConfigurator(Watch = true)] 
  18. [assembly: log4net.Config.XmlConfigurator(Watch = true)] 
  19. namespace Log4netDemo 
  20.     public partial class Form1 : Form 
  21.     { 
  22.         public Form1() 
  23.         { 
  24.             InitializeComponent(); 
  25.         } 
  26.  
  27.         private void bttnCreateLog_Click(object sender, EventArgs e) 
  28.         { 
  29.             //創(chuàng)建日志記錄組件實(shí)例 
  30.             ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 
  31.             switch (comStyle.Text) 
  32.             { 
  33.                 case "致命錯(cuò)誤": 
  34.                     log.Fatal("Fatal", new Exception(txtMessage.Text)); 
  35.                     break; 
  36.                 case "一般錯(cuò)誤": 
  37.                     log.Error("Error", new Exception(txtMessage.Text)); 
  38.                     break; 
  39.                 case "警告信息": 
  40.                     log.Warn("Warn", new Exception(txtMessage.Text)); 
  41.                     break; 
  42.                 case "一般信息": 
  43.                     log.Info("Info", new Exception(txtMessage.Text)); 
  44.                     break; 
  45.                 case "調(diào)試信息": 
  46.                     log.Debug("Debug", new Exception(txtMessage.Text)); 
  47.                     break; 
  48.                 default: 
  49.                     break; 
  50.             } 
  51.             MessageBox.Show("測(cè)試成功!"); 
  52.         } 
  53.  
  54.         private void comStyle_SelectedIndexChanged(object sender, EventArgs e) 
  55.         { 
  56.                switch (comStyle.Text) 
  57.             { 
  58.                 case "致命錯(cuò)誤": 
  59.                     txtMessage.Text = "致命錯(cuò)誤!"; 
  60.                     break; 
  61.                 case "一般錯(cuò)誤": 
  62.                     txtMessage.Text="一般錯(cuò)誤!"; 
  63.                     break; 
  64.                 case "警告信息": 
  65.                     txtMessage.Text="警告信息!"; 
  66.                     break; 
  67.                 case "一般信息": 
  68.                     txtMessage.Text="一般信息!"; 
  69.                     break; 
  70.                 case "調(diào)試信息": 
  71.                     txtMessage.Text="調(diào)試信息!"; 
  72.                     break; 
  73.                 default: 
  74.                     break; 
  75.             } 
  76.         } 
  77.  
  78.     } 

如需要請(qǐng)參考上傳的附件

附件:http://down.51cto.com/data/2362692

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。

本文名稱:演示如何利用log4net記錄程序日志信息-創(chuàng)新互聯(lián)
分享路徑:http://muchs.cn/article40/dphcho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)App設(shè)計(jì)、微信小程序、面包屑導(dǎo)航、企業(yè)建站、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)