mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-07-27 12:28:27 +00:00
commit
855358c801
16
configure.ac
16
configure.ac
@ -693,6 +693,19 @@ AC_ARG_ENABLE([thread-safety],
|
|||||||
[], [enable_thread_safety=yes])
|
[], [enable_thread_safety=yes])
|
||||||
AM_CONDITIONAL([ENFORCE_THREAD_SAFETY], [test "x$enable_thread_safety" = "xyes"])
|
AM_CONDITIONAL([ENFORCE_THREAD_SAFETY], [test "x$enable_thread_safety" = "xyes"])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([dlog],
|
||||||
|
[AC_HELP_STRING([--enable-dlog], [enable dlog support [default=no]])],
|
||||||
|
[], [enable_dlog=no])
|
||||||
|
AM_CONDITIONAL([ENABLE_DLOG], [test "x$enable_dlog" = "xyes"])
|
||||||
|
|
||||||
|
AM_COND_IF([ENABLE_DLOG],
|
||||||
|
[PKG_CHECK_MODULES([DLOG],[dlog],[],[
|
||||||
|
AC_CHECK_HEADER([dlog.h],[],[AC_MSG_ERROR([You must install the dlog development package in order to compile lxc])])
|
||||||
|
AC_CHECK_LIB([dlog], [dlog_print],[],[AC_MSG_ERROR([You must install the dlog development package in order to compile lxc])])
|
||||||
|
AC_SUBST([DLOG_LIBS], [-ldlog])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
# Files requiring some variable expansion
|
# Files requiring some variable expansion
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
Makefile
|
Makefile
|
||||||
@ -939,4 +952,7 @@ Paths:
|
|||||||
|
|
||||||
Thread-safety:
|
Thread-safety:
|
||||||
- enforce: $enable_thread_safety
|
- enforce: $enable_thread_safety
|
||||||
|
|
||||||
|
Dlog:
|
||||||
|
- enable: $enable_dlog
|
||||||
EOF
|
EOF
|
||||||
|
@ -211,6 +211,10 @@ if ENABLE_SELINUX
|
|||||||
AM_CFLAGS += -DHAVE_SELINUX
|
AM_CFLAGS += -DHAVE_SELINUX
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if ENABLE_DLOG
|
||||||
|
AM_CFLAGS += -DHAVE_DLOG
|
||||||
|
endif
|
||||||
|
|
||||||
if USE_CONFIGPATH_LOGS
|
if USE_CONFIGPATH_LOGS
|
||||||
AM_CFLAGS += -DUSE_CONFIGPATH_LOGS
|
AM_CFLAGS += -DUSE_CONFIGPATH_LOGS
|
||||||
endif
|
endif
|
||||||
|
@ -49,6 +49,13 @@
|
|||||||
#include "include/strlcpy.h"
|
#include "include/strlcpy.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if HAVE_DLOG
|
||||||
|
#include <dlog.h>
|
||||||
|
|
||||||
|
#undef LOG_TAG
|
||||||
|
#define LOG_TAG "LXC"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* We're logging in seconds and nanoseconds. Assuming that the underlying
|
/* We're logging in seconds and nanoseconds. Assuming that the underlying
|
||||||
* datatype is currently at maximum a 64bit integer, we have a date string that
|
* datatype is currently at maximum a 64bit integer, we have a date string that
|
||||||
* is of maximum length (2^64 - 1) * 2 = (21 + 21) = 42.
|
* is of maximum length (2^64 - 1) * 2 = (21 + 21) = 42.
|
||||||
@ -347,6 +354,41 @@ again:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if HAVE_DLOG
|
||||||
|
static int log_append_dlog(const struct lxc_log_appender *appender,
|
||||||
|
struct lxc_log_event *event)
|
||||||
|
{
|
||||||
|
if (event->priority < LXC_LOG_LEVEL_ERROR)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
switch(event->priority) {
|
||||||
|
case LXC_LOG_LEVEL_TRACE:
|
||||||
|
case LXC_LOG_LEVEL_DEBUG:
|
||||||
|
LOG_VA(LOG_DEBUG, LOG_TAG, event->fmt, *event->vap);
|
||||||
|
break;
|
||||||
|
case LXC_LOG_LEVEL_INFO:
|
||||||
|
LOG_VA(LOG_INFO, LOG_TAG, event->fmt, *event->vap);
|
||||||
|
break;
|
||||||
|
case LXC_LOG_LEVEL_NOTICE:
|
||||||
|
case LXC_LOG_LEVEL_WARN:
|
||||||
|
LOG_VA(LOG_WARN, LOG_TAG, event->fmt, *event->vap);
|
||||||
|
break;
|
||||||
|
case LXC_LOG_LEVEL_ERROR:
|
||||||
|
LOG_VA(LOG_ERROR, LOG_TAG, event->fmt, *event->vap);
|
||||||
|
break;
|
||||||
|
case LXC_LOG_LEVEL_CRIT:
|
||||||
|
case LXC_LOG_LEVEL_ALERT:
|
||||||
|
case LXC_LOG_LEVEL_FATAL:
|
||||||
|
LOG_VA(LOG_FATAL, LOG_TAG, event->fmt, *event->vap);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static struct lxc_log_appender log_appender_syslog = {
|
static struct lxc_log_appender log_appender_syslog = {
|
||||||
.name = "syslog",
|
.name = "syslog",
|
||||||
.append = log_append_syslog,
|
.append = log_append_syslog,
|
||||||
@ -365,6 +407,14 @@ static struct lxc_log_appender log_appender_logfile = {
|
|||||||
.next = NULL,
|
.next = NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if HAVE_DLOG
|
||||||
|
static struct lxc_log_appender log_appender_dlog = {
|
||||||
|
.name = "dlog",
|
||||||
|
.append = log_append_dlog,
|
||||||
|
.next = NULL,
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
static struct lxc_log_category log_root = {
|
static struct lxc_log_category log_root = {
|
||||||
.name = "root",
|
.name = "root",
|
||||||
.priority = LXC_LOG_LEVEL_ERROR,
|
.priority = LXC_LOG_LEVEL_ERROR,
|
||||||
@ -372,12 +422,21 @@ static struct lxc_log_category log_root = {
|
|||||||
.parent = NULL,
|
.parent = NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if HAVE_DLOG
|
||||||
|
struct lxc_log_category lxc_log_category_lxc = {
|
||||||
|
.name = "lxc",
|
||||||
|
.priority = LXC_LOG_LEVEL_ERROR,
|
||||||
|
.appender = &log_appender_dlog,
|
||||||
|
.parent = &log_root
|
||||||
|
};
|
||||||
|
#else
|
||||||
struct lxc_log_category lxc_log_category_lxc = {
|
struct lxc_log_category lxc_log_category_lxc = {
|
||||||
.name = "lxc",
|
.name = "lxc",
|
||||||
.priority = LXC_LOG_LEVEL_ERROR,
|
.priority = LXC_LOG_LEVEL_ERROR,
|
||||||
.appender = &log_appender_logfile,
|
.appender = &log_appender_logfile,
|
||||||
.parent = &log_root
|
.parent = &log_root
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
static int build_dir(const char *name)
|
static int build_dir(const char *name)
|
||||||
|
Loading…
Reference in New Issue
Block a user