X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FSyslogUDPTarget.hh;h=25bb8930c0657d9248206a1e7dbd4f4c7739b645;hb=c5ebf1fef99c27a3fdc02a70bff041ac881f4c32;hp=e6f35ffc1f381afa71781c4ff46745c788237e27;hpb=6cfb0a8ca46d3cb0cc521a75118027ecc3fa4ef1;p=senf.git diff --git a/Utils/Logger/SyslogUDPTarget.hh b/Utils/Logger/SyslogUDPTarget.hh index e6f35ff..25bb893 100644 --- a/Utils/Logger/SyslogUDPTarget.hh +++ b/Utils/Logger/SyslogUDPTarget.hh @@ -115,17 +115,27 @@ namespace log { using detail::LogFormat::timeFormat; using detail::LogFormat::tag; + bool syslog() const; ///< \c true, if using syslog format, \c false otherwise + /**< When syslog format is disabled, messages are not + formated as valid syslog messages but sent using plain + UDP. */ + void syslog(bool enabled=true); /// Set syslog format + private: + void init(); void v_write(time_type timestamp, std::string const & stream, std::string const & area, unsigned level, std::string const & message); + void consoleFormat(std::ostream & os); + int facility_; typedef senf::ClientSocketHandle< senf::MakeSocketPolicy< senf::DatagramFramingPolicy, senf::ConnectedCommunicationPolicy, senf::WriteablePolicy>::policy > Handle; Handle handle_; + bool syslogFormat_; public: enum LogFacility { @@ -154,14 +164,14 @@ namespace log { struct RegisterConsole { RegisterConsole(); - static void create(senf::INet4SocketAddress const & target, - LogFacility facility = USER); - static void create(senf::INet4Address const & target, - LogFacility facility = USER); - static void create(senf::INet6SocketAddress const & target, - LogFacility facility = USER); - static void create(senf::INet6Address const & target, - LogFacility facility = USER); + 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; }; };