X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FConfig.hh;h=9725f04754fc64a8fa2f3b12329774f412736955;hb=ac86c2bb40746fbedf70a19af3307e5da642b04a;hp=0cc836281d85b6eb63bd5d01034bd66625fe25a7;hpb=b52002fa2001e6472d6aa3dde263b85f654c6e8e;p=senf.git diff --git a/Utils/Logger/Config.hh b/Utils/Logger/Config.hh index 0cc8362..9725f04 100644 --- a/Utils/Logger/Config.hh +++ b/Utils/Logger/Config.hh @@ -33,17 +33,98 @@ #include "Config.ih" ///////////////////////////////hh.p//////////////////////////////////////// +/** \defgroup config Configuration + + The logger infrastructure provides for very fine-grained configuration of log messages. There + are two parts to this configuration: compile-time configuration and runtime configuration. + + Compile-time configuration selects, which log statements will even be compiled. If + logging for a certain combination of stream, area and level is disabled at compile time, no code + will be generated for any such disabled log statement. This type of configuration is done using + \ref SENF_LOG_CONF. + + Runtime configuration on the other hand deals with routing all those messages, which + are enabled at compile time to the logging targets. If a message is not routed, it will be + discarded. This allows to additionally disable messages at run-time. Message routing is managed + via the \ref Target interface. + */ + namespace senf { namespace log { + ///\ingroup config + ///\{ + +# ifdef DOXYGEN + + /** \brief Compile time configuration + + This define symbol sets the compile time logger configuration. This symbol should normally + be set on the compiler command line: +
+ g++ ... -DSENF_LOG_CONF="(( (senf)(log)(Debug),(_),DISABLED )) + (( (senf)(log)(Debug),(foo)(SomeClass),VERBOSE )) + (( (foo)(Transactions),(_),NOTICE ))" ... ++ (As this option can get quite long, you might want to use the '-imacros' option instead) + + The formal syntax of this option is: + + \par "" +
conf | ::= \e element \e element* \n |
element | ::= (( \e stream , \e optional_area , \e level )) \n |
stream | ::= \e scope_seq \n |
optional_area | ::= (_) | \e scope_seq \n |
level | ::= \c VERBOSE | \c NOTICE | \c MESSAGE | \c IMPORTANT | \c CRITICAL | \c DISABLED \n |
scope_seq | ::= \e scope \e scope \e scope* \n |
scope | ::= ( \e name ) \n |
name | ::= arbitrary C++ identifier |