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.

Classes

struct   senf::log::VERBOSE
  Log level VERBOSE. More...
struct   senf::log::NOTICE
  Log level NOTICE. More...
struct   senf::log::MESSAGE
  Log level MESSAGE. More...
struct   senf::log::IMPORTANT
  Log level IMPORTANT. More...
struct   senf::log::CRITICAL
  Log level CRITICAL. More...
struct   senf::log::FATAL
  Log level FATAL. More...
struct   senf::log::DISABLED
  Disable logging. More...
struct   senf::log::NONE
  Inherit log level. More...