Before this patch only log messages with precisely priority
authorStefano Stabellini <sstabellini@xensource.com>
Fri, 16 Jul 2010 11:10:56 +0000 (12:10 +0100)
committerStefano Stabellini <sstabellini@xensource.com>
Fri, 16 Jul 2010 11:10:56 +0000 (12:10 +0100)
LOG_WARNING (or precisely LOG_DEBUG if -v) would be logged.

xenconsoled only actually logs using LOG_ERR and LOG_DEBUG so for the
most part we would have been logging absolutely nothing up until now.

Linux provides a LOG_UPTO macro but I'm not sure how portable that is
so I have opencoded the list of levels.

Do I get some sort of prize for fixing a bug introduced in 2005?

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
tools/console/daemon/main.c

index 60faa4bb2a2ca45430158656299228713bc7b92e..789baa6c2369ed970af1a4c2cc94933a5d615188 100644 (file)
@@ -73,7 +73,8 @@ int main(int argc, char **argv)
        bool is_interactive = false;
        int ch;
        int syslog_option = LOG_CONS;
-       int syslog_mask = LOG_WARNING;
+       int syslog_mask = LOG_MASK(LOG_WARNING)|LOG_MASK(LOG_ERR)|LOG_MASK(LOG_CRIT)|\
+                         LOG_MASK(LOG_ALERT)|LOG_MASK(LOG_EMERG);
        int opt_ind = 0;
        char *pidfile = NULL;
 
@@ -89,7 +90,8 @@ int main(int argc, char **argv)
 #ifndef __sun__
                        syslog_option |= LOG_PERROR;
 #endif
-                       syslog_mask = LOG_DEBUG;
+                       syslog_mask |= LOG_MASK(LOG_NOTICE)|LOG_MASK(LOG_INFO)| \
+                                     LOG_MASK(LOG_DEBUG);
                        break;
                case 'i':
                        is_interactive = true;