aboutsummaryrefslogtreecommitdiffstats
path: root/obfuscator/logger.py
diff options
context:
space:
mode:
authorAlex <git@ajschof.me>2025-02-19 15:58:28 +0000
committerGitHub <noreply@github.com>2025-02-19 15:58:28 +0000
commit4066bf747e1e4c938526957c119f3f1485ee251e (patch)
tree9a1e95f4ccbdd04e19d67a6c13641a19c4d4f3e0 /obfuscator/logger.py
parentf24955044c4c05e37aba4efb505ec63b44113912 (diff)
parent5402af2c7198a685a57a05e29a869e1e72a6b877 (diff)
downloadgdpr-obfuscator-4066bf747e1e4c938526957c119f3f1485ee251e.tar.gz
gdpr-obfuscator-4066bf747e1e4c938526957c119f3f1485ee251e.zip
Merge pull request #8 from ajschofield/refining-phase
mostly minor changes (fixing things up)
Diffstat (limited to 'obfuscator/logger.py')
-rw-r--r--obfuscator/logger.py40
1 files changed, 26 insertions, 14 deletions
diff --git a/obfuscator/logger.py b/obfuscator/logger.py
index ca41e95..140fa8f 100644
--- a/obfuscator/logger.py
+++ b/obfuscator/logger.py
@@ -1,24 +1,36 @@
import logging
import os
+from enum import Enum
-def get_logger(name: str) -> logging.Logger:
- logger = logging.getLogger(name)
+class LogLevel(Enum):
+ DEBUG = logging.DEBUG
+ INFO = logging.INFO
+ WARNING = logging.WARNING
+ ERROR = logging.ERROR
+ CRITICAL = logging.CRITICAL
+
- if not logger.hasHandlers():
- if os.getenv("DEBUG", "FALSE").upper() == "TRUE":
- log_level = logging.DEBUG
- else:
- log_level = logging.INFO
+def get_logger(name: str, level: LogLevel = LogLevel.INFO) -> logging.Logger:
+ if isinstance(level, str):
+ try:
+ level = LogLevel[level.upper()]
+ except KeyError:
+ raise ValueError(
+ f"Invalid log level '{level}'. Choose from: {', '.join(l.name for l in LogLevel)}"
+ )
- logger.setLevel(log_level)
+ logger = logging.getLogger(name)
- handler = logging.StreamHandler()
- formatting = logging.Formatter(
- "%(asctime)s - %(levelname)s - %(name)s - %(message)s"
- )
- handler.setFormatter(formatting)
+ if logger.hasHandlers():
+ logger.handlers.clear()
- logger.addHandler(handler)
+ handler = logging.StreamHandler()
+ logger.setLevel(level.value)
+ formatting = logging.Formatter(
+ "[%(asctime)s] - %(levelname)s::%(name)s - %(message)s"
+ )
+ handler.setFormatter(formatting)
+ logger.addHandler(handler)
return logger
git.ajschof.me — hosted by ajschofield — powered by cgit