#include <senf/Utils/Logger/SyslogUDPTarget.hh>
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 RFC-3164.
This log target has some important benefits:
Valid facility values are from man 3 syslog
:
LOG_AUTHPRIV
, LOG_CRON
, LOG_DAEMON
, LOG_FTP
, LOG_KERN
, LOG_LOCAL0
, LOG_LOCAL1
, LOG_LOCAL2
, LOG_LOCAL3
, LOG_LOCAL4
, LOG_LOCAL5
, LOG_LOCAL6
, LOG_LOCAL7
, LOG_LPR
, LOG_MAIL
, LOG_NEWS
, LOG_SYSLOG
, LOG_USER
, LOG_UUCP
LOG_USER
The SENF log levels are mapped to syslog levels in the following way:
senf::log::VERBOSE | LOG_DEBUG |
senf::log::NOTICE | LOG_INFO |
senf::log::MESSAGE | LOG_NOTICE |
senf::log::IMPORTANT | LOG_WARNING |
senf::log::CRITICAL | LOG_CRIT |
senf::log::FATAL | LOG_EMERG |
PRI
part but skip the HEADER
part (which includes the timestamp and hostname) for better performance. We add a space after the PRI
to force the syslog daemon to skip the HEADER
part.Definition at line 93 of file SyslogUDPTarget.hh.
Classes |
|
struct | RegisterConsole |
Public Types |
|
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 } |
Public Member Functions |
|
bool | syslog () const |
true , if using syslog format, false otherwise |
|
void | syslog (bool enabled=true) |
Set syslog format. |
|
Structors and default members |
|
SyslogUDPTarget (INet4Address const &target, int facility=LOG_USER) | |
SyslogUDPTarget (INet4SocketAddress const &target, int facility=LOG_USER) | |
SyslogUDPTarget (INet6Address const &target, int facility=LOG_USER) | |
SyslogUDPTarget (INet6SocketAddress const &target, int facility=LOG_USER) |
enum senf::log::SyslogUDPTarget:: | ||||
LogFacility | ||||
AUTHPRIV | |
CRON | |
DAEMON | |
FTP | |
KERN | |
LOCAL0 | |
LOCAL1 | |
LOCAL2 | |
LOCAL3 | |
LOCAL4 | |
LOCAL5 | |
LOCAL6 | |
LOCAL7 | |
LPR | |
NEWS | |
SYSLOG | |
USER | |
UUCP |
Definition at line 142 of file SyslogUDPTarget.hh.
senf::log::SyslogUDPTarget:: | ||||
SyslogUDPTarget | ( | INet4Address const & | target, | |
int |
facility = LOG_USER
|
) | ||
Definition at line 35 of file SyslogUDPTarget.cci.
senf::log::SyslogUDPTarget:: | ||||
SyslogUDPTarget | ( | INet4SocketAddress const & | target, | |
int |
facility = LOG_USER
|
) | ||
Definition at line 43 of file SyslogUDPTarget.cci.
senf::log::SyslogUDPTarget:: | ||||
SyslogUDPTarget | ( | INet6Address const & | target, | |
int |
facility = LOG_USER
|
) | ||
Definition at line 51 of file SyslogUDPTarget.cci.
senf::log::SyslogUDPTarget:: | ||||
SyslogUDPTarget | ( | INet6SocketAddress const & | target, | |
int |
facility = LOG_USER
|
) | ||
Definition at line 59 of file SyslogUDPTarget.cci.
void senf::log::SyslogUDPTarget:: | ||||
syslog | ( | bool |
enabled = true
|
) |
Set syslog format.
Definition at line 73 of file SyslogUDPTarget.cci.
bool senf::log::SyslogUDPTarget:: | ||||
syslog | () | |||
true
, if using syslog format, false
otherwise
When syslog format is disabled, messages are not formated as valid syslog messages but sent using plain UDP.
Definition at line 67 of file SyslogUDPTarget.cci.