tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

quiet_level.c (1117B)


      1 /* Copyright (c) 2001 Matej Pfajfar.
      2 * Copyright (c) 2001-2004, Roger Dingledine.
      3 * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
      4 * Copyright (c) 2007-2021, The Tor Project, Inc. */
      5 /* See LICENSE for licensing information */
      6 
      7 /**
      8 * @file quiet_level.c
      9 * @brief Code to handle default logging level (quiet/hush/normal).
     10 **/
     11 
     12 #include "orconfig.h"
     13 #include "lib/log/log.h"
     14 #include "app/config/quiet_level.h"
     15 
     16 /** Decides our behavior when no logs are configured/before any logs have been
     17 * configured.  For QUIET_NONE, we log notice to stdout as normal.  For
     18 * QUIET_HUSH, we log warnings only.  For QUIET_SILENT, we log nothing.
     19 */
     20 quiet_level_t quiet_level = 0;
     21 
     22 /** Add a default log (or not), depending on the value of <b>quiet</b>. */
     23 void
     24 add_default_log_for_quiet_level(quiet_level_t quiet)
     25 {
     26  switch (quiet) {
     27    case QUIET_SILENT:
     28      /* --quiet: no initial logging */
     29      return;
     30    case QUIET_HUSH:
     31    /* --hush: log at warning or higher. */
     32      add_default_log(LOG_WARN);
     33      break;
     34    case QUIET_NONE: FALLTHROUGH;
     35    default:
     36      add_default_log(LOG_NOTICE);
     37  }
     38 }