# Logging glog defines a series of macros that simplify many common logging tasks. You can log messages by [severity level](#severity-levels), [control logging](flags.md) behavior from the command line, log based on [conditionals](#conditional-occasional-logging), abort the program when [expected conditions](#runtime-checks) are not met, introduce your [own logging levels](#verbose-logging), [customize the prefix](#format-customization) attached to log messages, and more. ## Severity Levels You can specify one of the following severity levels (in increasing order of severity): 1. `INFO`, 2. `WARNING`, 3. `ERROR`, and 4. `FATAL`. Logging a `FATAL` message terminates the program (after the message is logged). !!! note Messages of a given severity are logged not only to corresponding severity logfile but also to other logfiles of lower severity. For instance, a message of severity `FATAL` will be logged to logfiles of severity `FATAL`, `ERROR`, `WARNING`, and `INFO`. The `DFATAL` severity logs a `FATAL` error in [debug mode](#debugging-support) (i.e., there is no `NDEBUG` macro defined), but avoids halting the program in production by automatically reducing the severity to `ERROR`. ## Log Files Unless otherwise specified, glog uses the format /...log..-