syslog.c 588 Bytes
#include <syslog.h>

#include "logger.h"
#include "interface/logger.h"

static
const
int syslog_priority[] = {
    LOG_USER | LOG_DEBUG,
    LOG_USER | LOG_INFO,
    LOG_USER | LOG_NOTICE,
    LOG_USER | LOG_WARNING,
    LOG_USER | LOG_ERR,
    LOG_USER | LOG_CRIT,
    LOG_USER | LOG_ALERT,
    LOG_USER | LOG_EMERG
};

static
void
logSyslog(void * this, logger_level level, const char * const msg)
{
    syslog(syslog_priority[level], "[%s] %s", logger_level_str[level], msg);
}

INIT_IFACE(Logger, logSyslog);
CREATE_CLASS(LoggerSyslog, Logger, IFACE(Logger));

// vim: set ts=4 sw=4: