X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FConfig.hh;h=634d723264d49a44c08a9c3d9373cc53113b85dd;hb=82ad2ed94c12c3e53097fef92978de8c28239fab;hp=9725f04754fc64a8fa2f3b12329774f412736955;hpb=ac86c2bb40746fbedf70a19af3307e5da642b04a;p=senf.git diff --git a/Utils/Logger/Config.hh b/Utils/Logger/Config.hh index 9725f04..634d723 100644 --- a/Utils/Logger/Config.hh +++ b/Utils/Logger/Config.hh @@ -47,6 +47,61 @@ 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. + + \section config_compile Compile time configuration + + Compile time configuration is set on the compiler command line: +
+ g++ ... -DSENF_LOG_CONF="(( (senf)(log)(Debug),(_),DISABLED )) + (( (senf)(log)(Debug),(foo)(SomeClass),VERBOSE )) + (( (foo)(Transactions),(_),NOTICE ))" ... ++ The value is relatively complex; It's a Boost.Preprocessor style sequence of tuples, of which + the first and second elements are again sequences. What this boils down to, is that it allows to + configure compile time logging limits based on stream and optional area. + + The above example disables all debug logging by setting the default log limit for all areas on + the \c senf::log::Debug stream to \c DISABLED. It then re-enables debug logging only within the + \c foo::SomeClass area, where it is set to \c VERBOSE. Furthermore, the limit on the \c + foo::Transactions stream is set to \c NOTICE. + + \see \ref SENF_LOG_CONF + + \section config_runtime Runtime configuration + + The runtime configuration is performed by routing messages to one or more logging targets: + \code + senf::log::ConsoleLog consoleLog; + senf::log::FileLog fileLog ("my.log"); + + consoleLog.route
- 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) + be set on the compiler command line. The formal syntax of this option is: