Packets: extended description of bad_cast exception in Packet.as()
[senf.git] / senf / Utils / Logger / SyslogUDPTarget.hh
index 71732d5..e62ad76 100644 (file)
@@ -1,6 +1,6 @@
 // $Id$
 //
-// Copyright (C) 2008 
+// Copyright (C) 2008
 // Fraunhofer Institute for Open Communication Systems (FOKUS)
 // Competence Center NETwork research (NET), St. Augustin, GERMANY
 //     Stefan Bund <g0dil@berlios.de>
 #define HH_SENF_Utils_Logger_SyslogUDPTarget_ 1
 
 // Custom includes
-#include "SyslogTarget.hh"
+#include <syslog.h>
 #include "LogFormat.hh"
-#include "../../Socket/Protocols/INet/INetAddressing.hh"
-#include "../../Socket/ClientSocketHandle.hh"
-#include "../../Socket/FramingPolicy.hh"
-#include "../../Socket/ReadWritePolicy.hh"
-#include "../../Socket/CommunicationPolicy.hh"
+#include "Target.hh"
+#include <senf/Socket/Protocols/INet/INetAddressing.hh>
+#include <senf/Socket/ClientSocketHandle.hh>
+#include <senf/Socket/FramingPolicy.hh>
+#include <senf/Socket/ReadWritePolicy.hh>
+#include <senf/Socket/CommunicationPolicy.hh>
 
 //#include "SyslogUDPTarget.mpp"
-///////////////////////////////hh.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 
 namespace senf {
 namespace log {
 
     /** \brief Log target writing UDP syslog packets
 
-        The SyslogUDPTarget will send all %log messages directly via UDP to a target host. This 
+        The SyslogUDPTarget will send all %log messages directly via UDP to a target host. This
         host should have a syslog daemon or relay running. The protocol is defined in <a
         href="http://tools.ietf.org/html/rfc3164">RFC-3164</a>.
 
-        This log target has some important benefits:
+        This %log target has some important benefits:
 
-        \li It will never block. It may however lose log messages.
+        \li It will never block. It may however lose %log messages.
         \li It does \e not add timestamp information locally.
 
         These are \e advantages since this makes SyslogUDPTarget a very reliable high-performance
@@ -57,7 +58,7 @@ namespace log {
 
         Valid facility values are from <tt>man 3 syslog</tt>:
 
-        \par "" 
+        \par ""
            <tt>LOG_AUTHPRIV</tt>, <tt>LOG_CRON</tt>, <tt>LOG_DAEMON</tt>, <tt>LOG_FTP</tt>,
            <tt>LOG_KERN</tt>, <tt>LOG_LOCAL0</tt>, <tt>LOG_LOCAL1</tt>, <tt>LOG_LOCAL2</tt>,
            <tt>LOG_LOCAL3</tt>, <tt>LOG_LOCAL4</tt>, <tt>LOG_LOCAL5</tt>, <tt>LOG_LOCAL6</tt>,
@@ -93,20 +94,20 @@ namespace log {
         : public Target, private detail::LogFormat
     {
     public:
-        ///////////////////////////////////////////////////////////////////////////
+        //-////////////////////////////////////////////////////////////////////////
         // Types
 
-        ///////////////////////////////////////////////////////////////////////////
+        //-////////////////////////////////////////////////////////////////////////
         ///\name Structors and default members
-        ///@{
+        //\{
 
-        explicit SyslogUDPTarget(senf::INet4Address const & target, int facility = LOG_USER);
-        explicit SyslogUDPTarget(senf::INet4SocketAddress const & target, int facility = LOG_USER);
-        explicit SyslogUDPTarget(senf::INet6Address const & target, int facility = LOG_USER);
-        explicit SyslogUDPTarget(senf::INet6SocketAddress const & target, int facility = LOG_USER);
+        explicit SyslogUDPTarget(INet4Address const & target, int facility = LOG_USER);
+        explicit SyslogUDPTarget(INet4SocketAddress const & target, int facility = LOG_USER);
+        explicit SyslogUDPTarget(INet6Address const & target, int facility = LOG_USER);
+        explicit SyslogUDPTarget(INet6SocketAddress const & target, int facility = LOG_USER);
 
-        ///@}
-        ///////////////////////////////////////////////////////////////////////////
+        //\}
+        //-////////////////////////////////////////////////////////////////////////
 
         using detail::LogFormat::showTime;
         using detail::LogFormat::showStream;
@@ -122,9 +123,9 @@ namespace log {
         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, 
+        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);
@@ -138,7 +139,7 @@ namespace log {
         bool syslogFormat_;
 
     public:
-        enum LogFacility { 
+        enum LogFacility {
             AUTHPRIV = LOG_AUTHPRIV,
             CRON = LOG_CRON,
             DAEMON = LOG_DAEMON,
@@ -164,21 +165,21 @@ namespace log {
 
         struct RegisterConsole {
             RegisterConsole();
-            static boost::shared_ptr<senf::console::DirectoryNode> create(
-                senf::INet4SocketAddress const & target, LogFacility facility = USER);
-            static boost::shared_ptr<senf::console::DirectoryNode> create(
-                senf::INet4Address const & target, LogFacility facility = USER);
-            static boost::shared_ptr<senf::console::DirectoryNode> create(
-                senf::INet6SocketAddress const & target, LogFacility facility = USER);
-            static boost::shared_ptr<senf::console::DirectoryNode> create(
-                senf::INet6Address const & target, LogFacility facility = USER);
+            static boost::shared_ptr<console::DirectoryNode> create(
+                INet4SocketAddress const & target, LogFacility facility = USER);
+            static boost::shared_ptr<console::DirectoryNode> create(
+                INet4Address const & target, LogFacility facility = USER);
+            static boost::shared_ptr<console::DirectoryNode> create(
+                INet6SocketAddress const & target, LogFacility facility = USER);
+            static boost::shared_ptr<console::DirectoryNode> create(
+                INet6Address const & target, LogFacility facility = USER);
             static RegisterConsole instance;
         };
     };
 
 }}
 
-///////////////////////////////hh.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 #include "SyslogUDPTarget.cci"
 //#include "SyslogUDPTarget.ct"
 //#include "SyslogUDPTarget.cti"