File: syslog.cpp

package info (click to toggle)
libwibble 1.1-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, stretch
  • size: 1,040 kB
  • ctags: 2,721
  • sloc: cpp: 14,542; makefile: 196; perl: 87; sh: 26
file content (36 lines) | stat: -rw-r--r-- 688 bytes parent folder | download | duplicates (4)
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
36
#include <wibble/log/syslog.h>

#ifdef POSIX
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());
}

}
}
#endif
// vim:set ts=4 sw=4: