首页 » C语言 » Easylogging++之日志级别

Easylogging++之日志级别

原文 http://blog.csdn.net/lengyuezuixue/article/details/79230166

2018-02-02 02:01:00阅读(227)

  下表中列举了GitHub上给出的Easyloggin++支持的日志级别(按日志级别由低到高排序):

Level Description Global Generic level that represents all levels. Useful when setting global configuration for all levels. Trace Information that can be useful to back-trace certain events - mostly useful than debug logs. Debug Informational events most useful for developers to debug application. Only applicable if NDEBUG is not defined (for non-VC++) or _DEBUG is defined (for VC++). Fatal Very severe error event that will presumably lead the application to abort. Error Error information but will continue application to keep running. Warning Information representing errors in application but application will keep running. Info Mainly useful to represent current progress of application. Verbose Information that can be highly useful and vary with verbose logging level. Verbose logging is not applicable to hierarchical logging. Unknown Only applicable to hierarchical logging and is used to turn off logging completely.   下面对几个容易产生误解的级别加以补充说明:

  ·Global级别,个概念性的级别,不能应用于实际的日志记录,也就是说不能用宏 LOG(GLOBLE) 进行日志记录。在划分级别的日志记录中,设置门阀值为 el::Level::Global 表示所有级别的日志都生效。

  ·Trace级别,不过实际验证发现,不论是debug还是release版本,Trace级别的日记都会生效。

  ·Debug级别,只在debug模式生效,在Release模式会自动屏蔽该级别所有的日志记录。

  ·Fatal级别,默认情况下会使程序中断,可设置标记 LoggingFlag::DisableApplicationAbortOnFatalLog 来阻止中断。

  ·Verbose级别,可以更加详细地记录日志信息,但不适用于划分级别的日志记录,意思就是说即使门阀值设置大于该级别,该级别的日志记录同样生效。同时,该级别只能用宏VLOG而不能用宏 LOG(VERBOSE) 进行日志记录,并且在默认情况下,只有VLOG(0)日志记录生效。

   ·Unknown级别,同样也是一个概念性的级别,不能用宏 LOG(UNKNOWN) 进行日志记录。该级别只适用于在划分级别的日志记录中,如果设置门阀值为 el::Level::Unknown ,那么就表示所有级别的日志记录都会被完全屏蔽,需要注意的是,Verbose 级别不受此影响。但是如果程序没有设置划分级别标记:LoggingFlag::HierarchicalLogging,那么即使设置了门阀值为 el::Level::Unknown,而其他级别的日志记录也会正常输出。


示例

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;  
}  

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹