diff options
author | Peter Palfrader <peter@palfrader.org> | 2008-03-27 17:25:49 +0000 |
---|---|---|
committer | Peter Palfrader <peter@palfrader.org> | 2008-03-27 17:25:49 +0000 |
commit | 9d132fbde6e776f2c4f18772deffa2a90faa7975 (patch) | |
tree | c7e07da3cbe92da81145ff482435238ee3b99ae0 /src | |
parent | 3bc512cfe2ad26870407d1365028aa5d1c40a73a (diff) | |
download | tor-9d132fbde6e776f2c4f18772deffa2a90faa7975.tar.gz tor-9d132fbde6e776f2c4f18772deffa2a90faa7975.zip |
Add --hush switch.
New --hush command-line option similar to --quiet. While --quiet disables all
logging to the console on startup, --hush limits the output to messages of
warning and error severity.
svn:r14222
Diffstat (limited to 'src')
-rw-r--r-- | src/common/log.c | 4 | ||||
-rw-r--r-- | src/common/log.h | 2 | ||||
-rw-r--r-- | src/or/config.c | 3 | ||||
-rw-r--r-- | src/or/main.c | 17 |
4 files changed, 18 insertions, 8 deletions
diff --git a/src/common/log.c b/src/common/log.c index 0f59a93ac2..e49cc84116 100644 --- a/src/common/log.c +++ b/src/common/log.c @@ -535,10 +535,10 @@ init_logging(void) * logs are initialized). */ void -add_temp_log(void) +add_temp_log(int min_severity) { log_severity_list_t *s = tor_malloc_zero(sizeof(log_severity_list_t)); - set_log_severity_config(LOG_NOTICE, LOG_ERR, s); + set_log_severity_config(min_severity, LOG_ERR, s); LOCK_LOGS(); add_stream_log_impl(s, "<temp>", stdout); tor_free(s); diff --git a/src/common/log.h b/src/common/log.h index c752d40b85..2204ad1c72 100644 --- a/src/common/log.h +++ b/src/common/log.h @@ -130,7 +130,7 @@ int add_callback_log(log_severity_list_t *severity, log_callback cb); int get_min_log_level(void); void switch_logs_debug(void); void logs_free_all(void); -void add_temp_log(void); +void add_temp_log(int min_severity); void close_temp_logs(void); void rollback_log_changes(void); void mark_logs_temp(void); diff --git a/src/or/config.c b/src/or/config.c index 10ddf590c5..0672342c26 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -1343,7 +1343,8 @@ config_get_commandlines(int argc, char **argv, config_line_t **result) } else if (!strcmp(argv[i],"--list-fingerprint") || !strcmp(argv[i],"--verify-config") || !strcmp(argv[i],"--ignore-missing-torrc") || - !strcmp(argv[i],"--quiet")) { + !strcmp(argv[i],"--quiet") || + !strcmp(argv[i],"--hush")) { i += 1; /* command-line option. ignore it. */ continue; } else if (!strcmp(argv[i],"--nt-service") || diff --git a/src/or/main.c b/src/or/main.c index 9f6bff67f6..4ff46461ff 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -1780,12 +1780,21 @@ tor_init(int argc, char *argv[]) /* We search for the "quiet" option first, since it decides whether we * will log anything at all to the command line. */ for (i=1;i<argc;++i) { - if (!strcmp(argv[i], "--quiet")) + if (!strcmp(argv[i], "--hush")) quiet = 1; + if (!strcmp(argv[i], "--quiet")) + quiet = 2; } - if (!quiet) { - /* give it somewhere to log to initially */ - add_temp_log(); + /* give it somewhere to log to initially */ + switch (quiet) { + case 2: + /* no initial logging */ + break; + case 1: + add_temp_log(LOG_WARN); + break; + default: + add_temp_log(LOG_NOTICE); } log(LOG_NOTICE, LD_GENERAL, "Tor v%s. This is experimental software. " |