[tor-commits] [tor/master] Move code to add default log into quiet_level.c

nickm at torproject.org nickm at torproject.org
Tue Oct 22 11:50:50 UTC 2019


commit db18ff91208e0065c38e5f4d0dd57eb8a0ae513c
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Oct 17 12:48:39 2019 -0400

    Move code to add default log into quiet_level.c
    
    I'm about to unify the code for handling this between main.c and
    config.c.
---
 src/app/config/quiet_level.c | 33 +++++++++++++++++++++++++++++++++
 src/app/config/quiet_level.h |  2 ++
 src/app/main/main.c          | 23 +----------------------
 src/core/include.am          |  1 +
 4 files changed, 37 insertions(+), 22 deletions(-)

diff --git a/src/app/config/quiet_level.c b/src/app/config/quiet_level.c
new file mode 100644
index 000000000..f00d6b5a3
--- /dev/null
+++ b/src/app/config/quiet_level.c
@@ -0,0 +1,33 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2019, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+#include "lib/log/log.h"
+#include "app/config/quiet_level.h"
+
+/** Decides our behavior when no logs are configured/before any logs have been
+ * configured.  For QUIET_NONE, we log notice to stdout as normal.  For
+ * QUIET_HUSH, we log warnings only.  For QUIET_SILENT, we log nothing.
+ */
+quiet_level_t quiet_level = 0;
+
+/** Add a default log (or not), depending on the value of <b>quiet</b>. */
+void
+add_default_log_for_quiet_level(quiet_level_t quiet)
+{
+  switch (quiet) {
+    case QUIET_SILENT:
+      /* --quiet: no initial logging */
+      return;
+    case QUIET_HUSH:
+    /* --hush: log at warning or higher. */
+      add_default_log(LOG_WARN);
+      break;
+    case QUIET_NONE: /* fall through */
+    default:
+      add_default_log(LOG_NOTICE);
+  }
+}
diff --git a/src/app/config/quiet_level.h b/src/app/config/quiet_level.h
index e90ec3f27..03e3f58fb 100644
--- a/src/app/config/quiet_level.h
+++ b/src/app/config/quiet_level.h
@@ -25,4 +25,6 @@ typedef enum {
 /** How quietly should Tor log at startup? */
 extern quiet_level_t quiet_level;
 
+void add_default_log_for_quiet_level(quiet_level_t quiet);
+
 #endif /* !defined(QUIET_LEVEL_H) */
diff --git a/src/app/main/main.c b/src/app/main/main.c
index e6bd4f30b..fad2e0b62 100644
--- a/src/app/main/main.c
+++ b/src/app/main/main.c
@@ -109,16 +109,6 @@ static void dumpmemusage(int severity);
 static void dumpstats(int severity); /* log stats */
 static void process_signal(int sig);
 
-/********* START VARIABLES **********/
-
-/** Decides our behavior when no logs are configured/before any logs have been
- * configured.  For QUIET_NONE, we log notice to stdout as normal.  For
- * QUIET_HUSH, we log warnings only.  For QUIET_SILENT, we log nothing.
- */
-quiet_level_t quiet_level = 0;
-
-/********* END VARIABLES ************/
-
 /** Called when we get a SIGHUP: reload configuration files and keys,
  * retry all connections, and so on. */
 static int
@@ -558,18 +548,7 @@ tor_init(int argc, char *argv[])
   }
 
  /* give it somewhere to log to initially */
-  switch (quiet) {
-    case QUIET_SILENT:
-      /* --quiet: no initial logging */
-      break;
-    case QUIET_HUSH:
-      /* --hush: log at warning or higher. */
-      add_default_log(LOG_WARN);
-      break;
-    case QUIET_NONE: /* fall through */
-    default:
-      add_default_log(LOG_NOTICE);
-  }
+  add_default_log_for_quiet_level(quiet);
   quiet_level = quiet;
 
   {
diff --git a/src/core/include.am b/src/core/include.am
index f6ae3f2b5..fb2f93d81 100644
--- a/src/core/include.am
+++ b/src/core/include.am
@@ -9,6 +9,7 @@ endif
 # ADD_C_FILE: INSERT SOURCES HERE.
 LIBTOR_APP_A_SOURCES = 				\
 	src/app/config/config.c			\
+	src/app/config/quiet_level.c		\
 	src/app/config/statefile.c		\
 	src/app/main/main.c			\
 	src/app/main/shutdown.c			\





More information about the tor-commits mailing list