X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FSyslogUDPTarget.hh;h=b9401535c4ff29cd5f96e5514617ebaaf2f6f85c;hb=4195e3fc4bb545f2f7921396e2aec77edaa8c8c3;hp=c3d8b152146b97841f0a745b1d2cce0a374560d9;hpb=07b8c0784c854893cd1a4ecb9aa051a625ebe17e;p=senf.git diff --git a/Utils/Logger/SyslogUDPTarget.hh b/Utils/Logger/SyslogUDPTarget.hh index c3d8b15..b940153 100644 --- a/Utils/Logger/SyslogUDPTarget.hh +++ b/Utils/Logger/SyslogUDPTarget.hh @@ -86,6 +86,8 @@ namespace log { include the \c PRI part but skip the \c HEADER part (which includes the timestamp and hostname) for better performance. We add a space after the \c PRI to force the syslog daemon to skip the \c HEADER part. + + \ingroup targets */ class SyslogUDPTarget : public Target, private detail::LogFormat @@ -124,6 +126,44 @@ namespace log { senf::ConnectedCommunicationPolicy, senf::WriteablePolicy>::policy > Handle; Handle handle_; + + public: + 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 boost::shared_ptr create( + senf::INet4SocketAddress const & target, LogFacility facility = USER); + static boost::shared_ptr create( + senf::INet4Address const & target, LogFacility facility = USER); + static boost::shared_ptr create( + senf::INet6SocketAddress const & target, LogFacility facility = USER); + static boost::shared_ptr create( + senf::INet6Address const & target, LogFacility facility = USER); + static RegisterConsole instance; + }; }; }}