Syslog is not present on all platforms.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/ossman@372 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Pierre Ossman 2006-01-05 18:00:39 +00:00
parent 3996c5f048
commit 8c5a75dfb2

View file

@ -25,9 +25,12 @@
#include <assert.h>
#include <stdarg.h>
#include <syslog.h>
#include <stdio.h>
#ifdef HAVE_SYSLOG_H
#include <syslog.h>
#endif
#include "log.h"
#include "xmalloc.h"
#include "util.h"
@ -39,6 +42,7 @@ static enum pa_log_target log_target = PA_LOG_STDERR;
static void (*user_log_func)(enum pa_log_level l, const char *s) = NULL;
static enum pa_log_level maximal_level = PA_LOG_NOTICE;
#ifdef HAVE_SYSLOG_H
static const int level_to_syslog[] = {
[PA_LOG_ERROR] = LOG_ERR,
[PA_LOG_WARN] = LOG_WARNING,
@ -46,6 +50,7 @@ static const int level_to_syslog[] = {
[PA_LOG_INFO] = LOG_INFO,
[PA_LOG_DEBUG] = LOG_DEBUG
};
#endif
void pa_log_set_ident(const char *p) {
if (log_ident)
@ -80,11 +85,13 @@ void pa_log_levelv(enum pa_log_level level, const char *format, va_list ap) {
vfprintf(stderr, format, ap);
break;
#ifdef HAVE_SYSLOG_H
case PA_LOG_SYSLOG:
openlog(log_ident ? log_ident : "???", LOG_PID, LOG_USER);
vsyslog(level_to_syslog[level], format, ap);
closelog();
break;
#endif
case PA_LOG_USER: {
char *t = pa_vsprintf_malloc(format, ap);
@ -94,6 +101,7 @@ void pa_log_levelv(enum pa_log_level level, const char *format, va_list ap) {
}
case PA_LOG_NULL:
default:
break;
}