GLog
Last updated
Was this helpful?
Last updated
Was this helpful?
Google GLog team does provide GlogConfig.cmake
file, but it is not adopted by the default apt package available in Ubuntu. You can
compile glog from source and enable CMake support, so that config file will be installed; or
use default Ubuntu package by sudo apt install libgoogle-glog-dev
, and then find a FindGlog.cmake
file and add the path to this file to CMAKE_MODULE_PATH
variable, such that CMake will use this file to load glog.
After the package is found, use the following variables for header files and libraries.
Google glog defines a series of macros that simplify many common logging tasks. It provides logging APIs based on C++-style streams and various helper macros. You can log messages by severity level, control logging behavior from the command line, log based on conditionals, abort the program when expected conditions are not met, introduce your own verbose logging levels, and more.
You can log a message by simply streaming things to LOG(<severity level>)
, e.g.,
Unless otherwise specified, glog writes to the filename
/tmp/<program_name>.<hostname>.<username>.log.<severity_level>.<date>.<time>.<pid>
, or
/tmp/test.hteng-nuc.hteng.log.INFO.20210806-211849
for example.
You can specify one of the following severity levels (in increasing order of severity): INFO
, WARNING
, ERROR
, and FATAL
.
Logging a FATAL
message terminates the program (after the message is logged).
Messages of a given severity are logged not only in the logfile for that severity, but also in all logfiles of lower severity. For example, a message of severity FATAL
will be logged to the logfiles of severity FATAL
, ERROR
, WARNING
, and INFO
.
The DFATAL
severity logs a FATAL
error in debug mode (i.e., there is no NDEBUG
macro defined), but avoids halting the program in production by automatically reducing the severity to ERROR
.
By default, glog copies the log messages of severity level ERROR
or FATAL
to standard error (stderr) in addition to log files.
Note that if InitGoogleLogging
is not called for initialization, glog will turn into logtostderr
mode and this log file will not be generated under /tmp
. ()
See the official for more tutorials.