天天看點

Easylogging++之日志級别

下表中列舉了GitHub上給出的Easyloggin++支援的日志級别(按日志級别由低到高排序):

Easylogging++之日志級别

下面對幾個容易産生誤解的級别加以補充說明:

·Global級别,個概念性的級别,不能應用于實際的日志記錄,也就是說不能用宏 LOG(GLOBLE) 進行日志記錄。在劃分級别的日志記錄中,設定門閥值為 el::Level::Global 表示所有級别的日志都生效。

·Trace級别,不過實際驗證發現,不論是debug還是release版本,Trace級别的日記都會生效。

·Debug級别,隻在debug模式生效,在Release模式會自動屏蔽該級别所有的日志記錄。

·Fatal級别,預設情況下會使程式中斷,可設定标記 LoggingFlag::DisableApplicationAbortOnFatalLog 來阻止中斷。

include "easylogging++.h"  
  
INITIALIZE_EASYLOGGINGPP  
  
int main(int argc, char** argv)  
{  
    /// 防止Fatal級别日志中斷程式  
    el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);     
    /// 選擇劃分級别的日志     
    el::Loggers::addFlag(el::LoggingFlag::HierarchicalLogging);               
    /// 設定級别門閥值,修改參數可以控制日志輸出  
    el::Loggers::setLoggingLevel(el::Level::Global);      
  
    LOG(TRACE);  
    LOG(DEBUG);  
    LOG(FATAL);  
    LOG(ERROR);  
    LOG(WARNING);  
    LOG(INFO);  
    VLOG(0);          
  
    /// Debug模式日志記錄  
    DLOG(TRACE);  
    DLOG(DEBUG);  
    DLOG(FATAL);  
    DLOG(ERROR);  
    DLOG(WARNING);  
    DLOG(INFO);  
    DVLOG(0);  
      
    system("pause");  
    return 0;  
}      

繼續閱讀