X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fvlog.c;h=4f6523f3d0f6bf6f3ec356dc9fd5e31ff017dc55;hb=4b9fd100e8dbd3d7c2945d2916d563b5d703cdae;hp=173f21760004f1f6112d08c045f7d87cbbc19971;hpb=d295e8e97acae13552a5b220d3fbcff8201064a2;p=sliver-openvswitch.git diff --git a/lib/vlog.c b/lib/vlog.c index 173f21760..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. @@ -33,7 +33,7 @@ #include "unixctl.h" #include "util.h" -VLOG_DEFINE_THIS_MODULE(vlog) +VLOG_DEFINE_THIS_MODULE(vlog); /* Name for each logging level. */ static const char *level_names[VLL_N_LEVELS] = { @@ -291,7 +291,7 @@ vlog_set_log_file(const char *file_name) old_log_file_name = log_file_name; log_file_name = (file_name ? xstrdup(file_name) - : xasprintf("%s/%s.log", ovs_logdir, program_name)); + : xasprintf("%s/%s.log", ovs_logdir(), program_name)); free(old_log_file_name); file_name = NULL; /* Might have been freed. */ @@ -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) @@ -741,5 +766,5 @@ vlog_usage(void) " -v, --verbose set maximum verbosity level\n" " --log-file[=FILE] enable logging to specified FILE\n" " (default: %s/%s.log)\n", - ovs_logdir, program_name); + ovs_logdir(), program_name); }