summaryrefslogtreecommitdiff
path: root/lib/vlog.c
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2011-03-31 16:23:50 -0700
committerBen Pfaff <blp@nicira.com>2011-04-04 10:58:55 -0700
commit279c9e030818e039bb1c26be76e2cc1e8f6b13a6 (patch)
treed0b34b231861a6611ebe227326365c778aa3eac8 /lib/vlog.c
parentfcaddd4dd1e8feefc09ea2664ad51fb669d136f8 (diff)
downloadopenvswitch-279c9e030818e039bb1c26be76e2cc1e8f6b13a6.tar.gz
Log anything that could prevent a daemon from starting.
If a daemon doesn't start, we need to know why. Being able to consistently consult the log to find out is helpful.
Diffstat (limited to 'lib/vlog.c')
-rw-r--r--lib/vlog.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/lib/vlog.c b/lib/vlog.c
index 2598111a4..4f6523f3d 100644
--- a/lib/vlog.c
+++ b/lib/vlog.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 2010 Nicira Networks.
+ * Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -680,6 +680,31 @@ vlog(const struct vlog_module *module, enum vlog_level level,
va_end(args);
}
+void
+vlog_fatal_valist(const struct vlog_module *module_, enum vlog_level level,
+ const char *message, va_list args)
+{
+ struct vlog_module *module = (struct vlog_module *) module_;
+
+ /* Don't log this message to the console to avoid redundancy with the
+ * message written by the later ovs_fatal_valist(). */
+ module->levels[VLF_CONSOLE] = VLL_EMER;
+
+ vlog_valist(module, level, message, args);
+ ovs_fatal_valist(0, message, args);
+}
+
+void
+vlog_fatal(const struct vlog_module *module, enum vlog_level level,
+ const char *message, ...)
+{
+ va_list args;
+
+ va_start(args, message);
+ vlog_fatal_valist(module, level, message, args);
+ va_end(args);
+}
+
bool
vlog_should_drop(const struct vlog_module *module, enum vlog_level level,
struct vlog_rate_limit *rl)