我們在開發WEB項目的時候,經常會出現這樣的情況:在本地調試都是正常的,但是部署到服務器上就不行了.一般出現這種情況很大一部分原因是因為服務的環境和本地不同,數據庫的配置以及服務器軟件環境.如何能夠准確快速的判斷問題的所在呢?本人總結了我平時用過的三種方法.
第一:憑經驗.自己寫的程序當然對於業務邏輯會非常清楚,頁面執行到什麼程度,什麼地方可能會出錯,憑經驗也能猜出可能出錯的地方.這種方法依賴於程序員的經驗.
第二:讓應用程序報出黃頁,顯示具體的錯誤信息.這種方法可以非常直觀的看出程序的錯誤所在.但是如果是正式環境,程序是不可能讓出現報黃頁的情況,用戶看到錯誤黃頁對於管理者來說簡直就是一種惡夢.一般都會跳到一個自定義的錯誤頁,顯示些系統錯誤之類的信息.這種情況第二種方法就行不通了.
第三:記錄錯誤日志.利用try catch機制來捕獲錯誤信息,然後將錯誤信息記錄在日志中,供日後查找.顯然第三種方法是最佳的方式,這種方式的實現,一般分為兩種:
一種:自己寫這種記錄日志的組件.
二種:利用第三方組件,例如:log4net.
這兩種方式都是可行的,只要能夠滿足你的需求什麼方式並不重要.利用第三方組件來說簡單點,這裡就說了log4net的應用.這個組件在幾年前就有了,只是我並沒有用.現在在項目是發現了它的存在,才知道它的重要性.首先來說下log4net組件的優點吧:
第一:支持多種記錄日志的方式,可分為郵件形式,文本形式,數據庫存儲,等等.
第二:在大並發的情況下很好的解決了寫入同一文件的問題.
第三:可根據日期以及文件大小來生成不同的日志文件.
第四:配置相對簡單,調用也方便.
園子裡面已經有不少朋友寫過log4net的文章,本人都是受教者,現在只是想更多的分享下使用log4net的經驗.可以說是對它應用的一種唠叨吧.
要想利用log4net,我把它分為三步:
第一:在項目中引用log4net組件.
第二:配置log4net,一般都寫在web.config中.
第三:調用部分.
具體怎麼配置,我不想多說,官方文檔中已經寫的太清楚了,也不是本文的重點.這裡就我的經驗和大家分享下: