Fedir Zadniprovskyi 01-07
use dict to configure the logger (also fixes #114)
@8d73e2b84f493d24261dca62f26195c83377a742
src/faster_whisper_server/logger.py
--- src/faster_whisper_server/logger.py
+++ src/faster_whisper_server/logger.py
@@ -1,8 +1,30 @@
 import logging
+import logging.config
 
 
 def setup_logger(log_level: str) -> None:
-    logging.getLogger().setLevel(logging.INFO)
-    logger = logging.getLogger(__name__)
-    logger.setLevel(log_level.upper())
-    logging.basicConfig(format="%(asctime)s:%(levelname)s:%(name)s:%(funcName)s:%(lineno)d:%(message)s")
+    assert log_level.upper() in ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], log_level
+    # https://www.youtube.com/watch?v=9L77QExPmI0
+    # https://docs.python.org/3/library/logging.config.html
+    logging_config = {
+        "version": 1,  # required
+        "disable_existing_loggers": False,
+        "formatters": {
+            "simple": {"format": "%(asctime)s:%(levelname)s:%(name)s:%(funcName)s:%(lineno)d:%(message)s"},
+        },
+        "handlers": {
+            "stdout": {
+                "class": "logging.StreamHandler",
+                "formatter": "simple",
+                "stream": "ext://sys.stdout",
+            },
+        },
+        "loggers": {
+            "root": {
+                "level": log_level.upper(),
+                "handlers": ["stdout"],
+            },
+        },
+    }
+
+    logging.config.dictConfig(logging_config)
Add a comment
List