X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FSyslogTarget.hh;h=0049f59fd46661a79b7f2ebb6a3ce398e41dadfb;hb=8da6e83b001f0ae8383af7eb4b3e3a079178a777;hp=3de11ec78358dba355fa714e5b5dcbeafb3eb02d;hpb=e4526bf485cbf7f35d26264cb2ede91efdd5c54f;p=senf.git diff --git a/Utils/Logger/SyslogTarget.hh b/Utils/Logger/SyslogTarget.hh index 3de11ec..0049f59 100644 --- a/Utils/Logger/SyslogTarget.hh +++ b/Utils/Logger/SyslogTarget.hh @@ -23,8 +23,8 @@ /** \file \brief SyslogTarget public header */ -#ifndef HH_SyslogTarget_ -#define HH_SyslogTarget_ 1 +#ifndef HH_SENF_Utils_Logger_SyslogTarget_ +#define HH_SENF_Utils_Logger_SyslogTarget_ 1 // Custom includes #include @@ -40,6 +40,13 @@ namespace log { The SyslogTarget will send all log messages to the syslog at the given facility. + \code + senf::log::SyslogTarget syslog; + + // Route all messages to the syslog + syslog.route(); + \endcode + Valid facility values (taken from man 3 syslog): \par "" LOG_AUTHPRIV, LOG_CRON, LOG_DAEMON, LOG_FTP, @@ -82,7 +89,38 @@ namespace log { std::string const & message); int facility_; - static int const LEVELMAP_[8]; + + public: + static int const LEVELMAP[8]; + + enum LogFacility { + AUTHPRIV = LOG_AUTHPRIV, + CRON = LOG_CRON, + DAEMON = LOG_DAEMON, + FTP = LOG_FTP, + KERN = LOG_KERN, + LOCAL0 = LOG_LOCAL0, + LOCAL1 = LOG_LOCAL1, + LOCAL2 = LOG_LOCAL2, + LOCAL3 = LOG_LOCAL3, + LOCAL4 = LOG_LOCAL4, + LOCAL5 = LOG_LOCAL5, + LOCAL6 = LOG_LOCAL6, + LOCAL7 = LOG_LOCAL7, + LPR = LOG_LPR, + MAIL = LOG_MAIL, + NEWS = LOG_NEWS, + SYSLOG = LOG_SYSLOG, + USER = LOG_USER, + UUCP = LOG_UUCP + }; + + private: + struct RegisterConsole { + RegisterConsole(); + static void create(LogFacility facility); + static RegisterConsole instance; + }; }; }}