當前位置

首頁 > 語文基礎 > 日誌 > 關於記錄程序日誌的三種選擇

關於記錄程序日誌的三種選擇

推薦人: 來源: 閱讀: 3.8W 次

1、採用Log4CXX等公共開源日誌組件:這類日誌組件的特點是跨平臺且功能比較強大,例如可以把日誌發往另一臺服務器或記錄到數據庫中等;另外,可配置性較高,可以通過配置文件或程序代碼對日誌進行很多個性化設置。但從另外一個角度看,由於這些優點往往也導致了在使用方面的缺點。首先,對於一般應用程序來說,它們並不需要太多的功能,通常只需要把日誌記錄到文件或反饋到應用程序,功能太多反正讓用戶使用起來覺得繁瑣還得揹負很多從來都用不到的代碼。其次,這類日誌組件通常是跨平臺的,並不只是針對 Windows 或 VC 的應用程序,因此使用起來總會覺得有點彆扭,例如他們的字符都是用 char 類型的,對於一個 Unicode 程序來說每次寫日誌都要做字符轉換是很不爽的事情,本座在多年前曾經使用過 Log4Cpp ,程序執行時總是報告日誌組件有內存泄露,雖然有可能是誤報,但是使用起來總覺得很不舒服。

關於記錄程序日誌的三種選擇

2、自己寫幾個簡單的類或函數記錄日誌:這種方法的確很簡單,通常都不用一兩百行的代碼。但這種方法通常缺乏規範性和通用性,其他程序需要記錄類似的但有點差異的日誌時,通常的作法是:Copy-Paste-Modify;另外,這類方法很可能也沒有考慮性能或併發方面的問題,通常是直接在工作線程中寫日誌,對於那些性能要求較高的應用程序是絕對不允許的。

3、乾脆不記錄任何日誌:的確,現在很多程序由於各種原因並沒有記錄任何日誌。但本座以爲,如果一個程序是有用的,具備一定功能,並且需要連續運行較長一段時間,那麼記錄日誌是必須的;否則,得認真考慮該程序是否有存在的必要了。