X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FTarget.hh;h=cbb72c56af74586f499b70877a6a757804a73fa3;hb=25fe79f266e7583750d8e761abec4022d87972b8;hp=74110c936512b92f001b67239bc111d0d005db25;hpb=f73fa16ed5abdce272ac77f8b8b9ef2b9922c266;p=senf.git diff --git a/Utils/Logger/Target.hh b/Utils/Logger/Target.hh index 74110c9..cbb72c5 100644 --- a/Utils/Logger/Target.hh +++ b/Utils/Logger/Target.hh @@ -1,8 +1,8 @@ // $Id$ // -// Copyright (C) 2007 -// Fraunhofer Institute for Open Communication Systems (FOKUS) -// Competence Center NETwork research (NET), St. Augustin, GERMANY +// Copyright (C) 2007 +// 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,6 +35,7 @@ #include "../mpl.hh" #include "StreamRegistry.hh" #include "AreaRegistry.hh" +#include "../Exception.hh" //#include "Target.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -56,7 +57,7 @@ namespace log { /** \brief Logging target base class - Targets are the final destination of log messages. Every message is eventually routed to one + Targets are the final destination of %log messages. Every message is eventually routed to one or several targets. \section target_routing Routing @@ -114,7 +115,7 @@ namespace log { The target may process in any arbitrary way: reformat, writing it into an SQL DB, whatever can be envisioned. However, there is one important limitation: The \c v_write call must not - block. So for more complex scenarios, additional measures must be taken (e.g. writing a log + block. So for more complex scenarios, additional measures must be taken (e.g. writing a %log backend daemon which receives the messages via UDP and processes them). Of course, in rare cases messages might be lost but this cannot be avoided. @@ -205,9 +206,9 @@ namespace log { See the class description for information on the \a action and \a index parameters - \param[in] Stream mandatory stream to match - \param[in] Area optional area to match - \param[in] Level optional level, matches messages with + \tparam Stream mandatory stream to match + \tparam Area optional area to match + \tparam Level optional level, matches messages with at least the given level. \param[in] action routing action to take \param[in] index position of new route in the routing @@ -254,9 +255,9 @@ namespace log { found, it will be removed, otherwise the call will be ignored - \param[in] Stream mandatory stream to match - \param[in] Area optional area to match - \param[in] Level optional level, matches messages with + \tparam Stream mandatory stream to match + \tparam Area optional area to match + \tparam Level optional level, matches messages with at least the given level. \param[in] action routing action to take */ @@ -341,14 +342,14 @@ namespace log { ///\} /** \brief Exception: Invalid stream */ - struct InvalidStreamException : public std::exception - { virtual char const * what() const throw() - { return "senf::log::Target::InvalidStreamException"; } }; + struct InvalidStreamException : public senf::Exception + { InvalidStreamException() + : senf::Exception("senf::log::Target::InvalidStreamException"){} }; /** \brief Exception: Invalid area */ - struct InvalidAreaException : public std::exception - { virtual char const * what() const throw() - { return "senf::log::Target::InvalidAreaException"; } }; + struct InvalidAreaException : public senf::Exception + { InvalidAreaException() + : senf::Exception("senf::log::Target::InvalidAreaException"){} }; iterator begin() const; ///< Iterator to beginning of routing table iterator end() const; ///< Iterator past the end of routing table @@ -373,9 +374,9 @@ namespace log { std::string const & message) = 0; ///< Called to write out the routing message /**< This member must be defined in the derived class to - somehow format and write the log message. + somehow format and write the %log message. - Every log message always possesses a complete set of + Every %log message always possesses a complete set of meta information (\a stream, \a area and \a level). \note This member must \e not block since it may be @@ -383,7 +384,7 @@ namespace log { simple logging over NFS or many other network protocols. - \param[in] timestamp log message timing information + \param[in] timestamp %log message timing information \param[in] stream message stream \param[in] area message area \param[in] level message level @@ -415,7 +416,7 @@ namespace log { virtual boost::posix_time::ptime operator()() const = 0; }; - /** \brief Default log message time source + /** \brief Default %log message time source This time source is installed by default and uses gettimeofday() (via the Boost.DateTime library) to get the current universal time.