X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FLevels.hh;h=e3bd8695e8a1a4797fbe2d473f0ef15171f1f2ef;hb=2246ca853064965a7b263c49597c4e74397b989b;hp=35aa048a6f62a4a6f97b45baa6ae2a2d58ffe56d;hpb=b52002fa2001e6472d6aa3dde263b85f654c6e8e;p=senf.git diff --git a/Utils/Logger/Levels.hh b/Utils/Logger/Levels.hh index 35aa048..e3bd869 100644 --- a/Utils/Logger/Levels.hh +++ b/Utils/Logger/Levels.hh @@ -1,8 +1,8 @@ // $Id$ // // Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -35,24 +35,80 @@ namespace senf { namespace log { - /** \brief Log levels + /** \defgroup loglevels Log levels These are the valid log levels with some additional special values: - \c DISABLED is a special value used as level limit to disable all messages. +
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.
- \c NONE is used to in some special places to inherit the default log level. +
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 \c value member which gives + that levels numeric priority. The larger the number, the more important the message is. + + \implementation 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. */ + ///\ingroup loglevels + ///\{ + + /** \brief Log level VERBOSE + \see loglevels */ struct VERBOSE : public detail::LevelBase { static unsigned const value = 1; }; + + /** \brief Log level NOTICE + \see loglevels */ struct NOTICE : public detail::LevelBase { static unsigned const value = 2; }; + + /** \brief Log level MESSAGE + \see loglevels */ struct MESSAGE : public detail::LevelBase { static unsigned const value = 3; }; + + /** \brief Log level IMPORTANT + \see loglevels */ struct IMPORTANT : public detail::LevelBase { static unsigned const value = 4; }; + + /** \brief Log level CRITICAL + \see loglevels */ struct CRITICAL : public detail::LevelBase { static unsigned const value = 5; }; - struct DISABLED : public detail::LevelBase { static unsigned const value = 6; }; + /** \brief Log level FATAL + \see loglevels */ + struct FATAL : public detail::LevelBase { static unsigned const value = 6; }; + + /** \brief Disable logging + \see loglevels */ + struct DISABLED : public detail::LevelBase { static unsigned const value = 7; }; + + /** \brief Inherit log level + \see loglevels */ struct NONE : public detail::LevelBase { static unsigned const value = 0; }; + ///\} + }} ///////////////////////////////hh.e////////////////////////////////////////