]> git.proxmox.com Git - mirror_lxc.git/commitdiff
add a default stderror log appender
authorMichel Normand <normand@fr.ibm.com>
Fri, 15 May 2009 08:47:08 +0000 (10:47 +0200)
committerDaniel Lezcano <dlezcano@fr.ibm.com>
Fri, 15 May 2009 08:47:08 +0000 (10:47 +0200)
This is adding a stderror log appender that is used as default one.

Signed-off-by: Michel Normand <normand@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
src/lxc/log.c

index af55669339afb5e646785c677ad0c448082bd2e4..fa6fe4a681cd06c2e647ea2b601265b8b1ae228e 100644 (file)
 #define LXC_LOG_PREFIX_SIZE    32
 #define LXC_LOG_BUFFER_SIZE    512
 
-int lxc_log_fd = 2;
+int lxc_log_fd = -1;
 static char log_prefix[LXC_LOG_PREFIX_SIZE] = "lxc";
 
 lxc_log_define(lxc_log, lxc);
 
+/*---------------------------------------------------------------------------*/
+static int log_append_stderr(const struct lxc_log_appender *appender,
+                            struct lxc_log_event *event)
+{
+       if (event->priority < LXC_LOG_PRIORITY_ERROR)
+               return 0;
+
+       fprintf(stderr, "%s: ", log_prefix);
+       vfprintf(stderr, event->fmt, *event->vap);
+       fprintf(stderr, "\n");
+       return 0;
+}
+
 /*---------------------------------------------------------------------------*/
 static int log_append_logfile(const struct lxc_log_appender *appender,
                              struct lxc_log_event *event)
@@ -75,10 +88,16 @@ static int log_append_logfile(const struct lxc_log_appender *appender,
        return write(lxc_log_fd, buffer, n + 1);
 }
 
+static struct lxc_log_appender log_appender_stderr = {
+       .name           = "stderr",
+       .append         = log_append_stderr,
+       .next           = NULL,
+};
+
 static struct lxc_log_appender log_appender_logfile = {
        .name           = "logfile",
        .append         = log_append_logfile,
-       .next           = NULL,
+       .next           = &log_appender_stderr,
 };
 
 static struct lxc_log_category log_root = {