chromium中的log类

chromium中定义了一组强大的宏来帮助我们程序打log。

初始化log

调用logging::InitLogging去初始化log设施。我们需要给这个函数传递一个LoggingSettings类型的参数,如这样:

我们还可以进一步做一些高级设置:

LOG宏

LOG就像c++标准库的输出一样重载<<,它有四个LOG等级,分别为”INFO”, “WARNING”, “ERROR”, “FATAL”。其中”FATAL”LOG会触发一个断点,并打印出栈回溯信息。

使用LOG_IF宏可以在表达式条件为真的情况下才输出log:

CHECK宏在表达式为假的情况下执行LOG(FATAL)的效果,如果没有附加调试器,还会生成一个crash dump。

DLOG宏

DLOG跟LOG类似,不用的是DLOG只在DEBUG模式下才生效,在非DEBUG模式下,这部分代码都不会被编译进程序。

VLOG宏

这是一种可以通过命令行参数动态调整输出log策略的宏,这些宏都是INFO级别的。
比如这样的命令行:

还可以支持?*这样的通配符,比如c中的例子。
也支持VLOG_IF这样的表达式为真输出。

PLOG宏

这中宏除了输出我们指定的输出信息,后面还附加有系统最后的错误信息,windows上是GetLastError(),POSIX上是errno的值。

 

 

《chromium中的log类》有1个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注