Browse Source

set log level via `-v` or `-vv`

Fabian Peter Hammerle 4 years ago
parent
commit
511ac9cea1
2 changed files with 17 additions and 6 deletions
  1. 1 0
      CHANGELOG.md
  2. 16 6
      rescriptoon/_cli.py

+ 1 - 0
CHANGELOG.md

@@ -7,3 +7,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ## Unreleased
 ### Added
 - simple tray icon indicating whether extended controls are enabled
+- *cli**: set log level via `-v` (info) or `-vv` (debug)

+ 16 - 6
rescriptoon/_cli.py

@@ -25,15 +25,12 @@ import rescriptoon
 
 _DEFAULT_TOGGLE_KEYSYM_NAME = "grave"
 
+_VERBOSITY_LEVELS = [logging.WARNING, logging.INFO, logging.DEBUG]
+
 
 def main() -> None:
-    logging.basicConfig(
-        level=logging.DEBUG,
-        format="%(asctime)s %(levelname)s: %(message)s",
-        datefmt="%H:%I:%S",
-    )
     argparser = argparse.ArgumentParser(
-        description="Attach resriptoon to running Toontown Rewritten engines.",
+        description="Attach rescriptoon to running Toontown Rewritten engines.",
     )
     argparser.add_argument(
         "--toggle",
@@ -46,7 +43,20 @@ def main() -> None:
         + " (see XStringToKeysym & X11/keysymdef.h, "
         + " default: %(default)s)",
     )
+    argparser.add_argument(
+        "--verbose",
+        "-v",
+        action="count",
+        dest="verbosity",
+        default=0,
+        help="repeat to further increase verbosity",
+    )
     args = argparser.parse_args()
+    logging.basicConfig(
+        format="%(asctime)s %(levelname)s: %(message)s",
+        datefmt="%H:%I:%S",
+        level=_VERBOSITY_LEVELS[min(args.verbosity, len(_VERBOSITY_LEVELS) - 1)],
+    )
     toggle_keysym = XK.string_to_keysym(args.toggle_keysym_name)
     if toggle_keysym == X.NoSymbol:
         raise ValueError(