diff options
author | Max Kellermann <max@duempel.org> | 2009-02-19 08:35:20 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-02-19 08:35:20 +0100 |
commit | 0a0736fc4e010db5d17c8aa9a7a71567cdae26ea (patch) | |
tree | 2fc175bdacb0d1e56761b8c08498eed22a638da3 | |
parent | 84437acffb5996a9ea99b1d2ab96c68e9751b708 (diff) | |
download | mpd-0a0736fc4e010db5d17c8aa9a7a71567cdae26ea.tar.gz mpd-0a0736fc4e010db5d17c8aa9a7a71567cdae26ea.tar.xz mpd-0a0736fc4e010db5d17c8aa9a7a71567cdae26ea.zip |
log: added log_early_init() for early debug messages
-rw-r--r-- | src/cmdline.c | 5 | ||||
-rw-r--r-- | src/log.c | 9 | ||||
-rw-r--r-- | src/log.h | 11 |
3 files changed, 25 insertions, 0 deletions
diff --git a/src/cmdline.c b/src/cmdline.c index 71173ae38..43fe46de0 100644 --- a/src/cmdline.c +++ b/src/cmdline.c @@ -18,6 +18,7 @@ #include "cmdline.h" #include "path.h" +#include "log.h" #include "conf.h" #include "decoder_list.h" #include "config.h" @@ -123,6 +124,10 @@ void parseOptions(int argc, char **argv, Options *options) if (option_version) version(); + /* initialize the logging library, so the configuration file + parser can use it already */ + log_early_init(options->verbose); + if (option_create_db && option_no_create_db) g_error("Cannot use both --create-db and --no-create-db\n"); @@ -217,6 +217,15 @@ parse_log_level(const char *value, unsigned line) } } +void +log_early_init(bool verbose) +{ + if (verbose) + log_threshold = G_LOG_LEVEL_DEBUG; + + log_init_stdout(); +} + void log_init(bool verbose, bool use_stdout) { const struct config_param *param; @@ -25,6 +25,17 @@ G_GNUC_PRINTF(1, 2) void DEBUG(const char *fmt, ...); G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN void FATAL(const char *fmt, ...); +/** + * Configure a logging destination for daemon startup, before the + * configuration file is read. This allows the daemon to use the + * logging library (and the command line verbose level) before it's + * daemonized. + * + * @param verbose true when the program is started with --verbose + */ +void +log_early_init(bool verbose); + void log_init(bool verbose, bool use_stdout); void setup_log_output(bool use_stdout); |