/** \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 <syslog.h>
+#include <boost/shared_ptr.hpp>
#include "Target.hh"
//#include "SyslogTarget.mpp"
///////////////////////////////hh.p////////////////////////////////////////
namespace senf {
+
+ namespace console { class DirectoryNode; }
+
namespace log {
/** \brief Log target writing to the syslog
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 boost::shared_ptr<senf::console::DirectoryNode> create(
+ LogFacility facility);
+ static RegisterConsole instance;
+ };
};
}}