[log4net]Memo - 記得要初始化

  • 15737
  • 0
  • 2010-11-15

[log4net]Memo - 記得要初始化

前言
每次一個比較長的案子結束後,要開始規劃下一個案子,如果上個案子的架構合適於眼前的案子環境與需求,我們就會把公用的模組都搬過來,把系統骨頭抓好。

不過這已經是第二次我發生的冏況了,奇怪,明明log4net都正常在運作,為啥就是寫不進去log檔裡面。

Memo
沒錯,即使config檔把log4net的設定都設定好了,每一支程式也都透過global logger來記錄相關訊息,log level也沒問題。Run time也沒發生錯誤,可是就是沒寫進去log檔。

該死!我又忘記初始化log4net的Config了!

請記得在Global.asax的Application_Start裡面,加上將log4net初始化的動作。

	void Application_Start(object sender, EventArgs e) 
    {
        // 應用程式啟動時執行的程式碼
        log4net.Config.XmlConfigurator.Configure();
    }


結論
花了我一個小時,真的是虛度光陰,所以在這邊在Memo一下加深一下記憶。
還好,很多人都有忘記初始化log4net的症狀,我不是第一個,也不會是最後一個。 :P

[補充]在Console project裡面,可以在AssemblyInfo裡面加上:

[assembly: log4net.Config.DOMConfigurator()]

就可以不用加上log4net.Config.XmlConfigurator.Configure();了,另外要注意的是console project產生log的路徑是在Debug底下。


blog 與課程更新內容,請前往新站位置:http://tdd.best/