Log levels
Detailed Description
These are the valid log levels with some additional special values:
- VERBOSE
- Really verbose log messages. Messages at this level are used for internal debugging. They should be enabled only selectively within the areas currently under inspection. The default log stream senf::log::Debug has these messages disabled at compile time by default. To enable them, see Configuration.
- NOTICE
- Arbitrary unimportant notice. Message which normally should be disabled but might be informative to better understand the programs operation.
- MESSAGE
- Purely informative message which should be displayed if not explicitly disabled.
- IMPORTANT
- Important information or warning which really should be read.
- CRITICAL
- Error condition which does not terminate the program completely but has non-reversible adverse effects
- FATAL
- Error condition which does terminate program execution or enforces a restart or some kind of re-initialization with loss of state and context.
There are also some special values which must not be used as a log level:
- DISABLED
- Disable all log messages.
- NONE
- Special value which signifies inheritance of the default log level.
Log levels are classes, not numbers. Each log level class has a value
member which gives that levels numeric priority. The larger the number, the more important the message is.
- Implementation note:
- The log levels need to be classes since areas and streams are classes: Since log arguments (stream, area and level) may appear in any order and number, it is much simpler to parse them if they are all of the same type.