File: syslog.cpp

package info (click to toggle)
libwibble 0.1.19
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 832 kB
  • ctags: 1,940
  • sloc: cpp: 9,798; makefile: 163; perl: 84; sh: 11
file content (35 lines) | stat: -rw-r--r-- 669 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <wibble/log/syslog.h>

namespace wibble {
namespace log {

SyslogSender::SyslogSender(const std::string& ident, int option, int facility)
{
	openlog(ident.c_str(), option, facility);
}

SyslogSender::~SyslogSender()
{
	closelog();
}

void SyslogSender::send(Level level, const std::string& msg)
{
	int prio = LOG_INFO;
	switch (level)
	{
		case DEBUG: prio = LOG_DEBUG; break;
		case INFO: prio = LOG_INFO; break;
		case UNUSUAL: prio = LOG_NOTICE; break;
		case WARN: prio = LOG_WARNING; break;
		case ERR: prio = LOG_ERR; break;
		case CRIT: prio = LOG_CRIT; break;
		//LOG_ALERT, LOG_EMERG
	}
	syslog(prio, "%s", msg.c_str());
}

}
}

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