about summary refs log tree commit diff
path: root/src/blog_node5_net.py
diff options
context:
space:
mode:
authoruser <user@node5.net>2025-02-08 21:53:02 +0100
committeruser <user@node5.net>2025-02-08 21:53:02 +0100
commit32ead71f3a69145dc09df9eb09ca0a6b0191749a (patch)
tree4a18f0c54c76fc8599009dcb57c7362417c35b3e /src/blog_node5_net.py
parent14de1a23248086371671fa45f4057fcd5bdd3205 (diff)
Fix log lvls, default to debug 4 cli usage
Disable debug in production using environment variable in SystemD
service
Diffstat (limited to 'src/blog_node5_net.py')
-rw-r--r--src/blog_node5_net.py33
1 files changed, 31 insertions, 2 deletions
diff --git a/src/blog_node5_net.py b/src/blog_node5_net.py
index 0b7b3de..da2ef84 100644
--- a/src/blog_node5_net.py
+++ b/src/blog_node5_net.py
@@ -11,14 +11,43 @@ import markdown
 import markupsafe
 import yaml
 
-import log
 import article
 import db_handler
 import telegram_handler
 
 
-logger = logging.getLogger(__name__) # Set the logger name, to the name of the module
+class CustomFormatter(logging.Formatter):
+    grey = "\x1b[90;20m"
+    blue = "\x1b[34;20m"
+    yellow = "\x1b[33;20m"
+    red = "\x1b[31;20m"
+    bold_red = "\x1b[31;1m"
+    reset = "\x1b[0m"
+    format = "%(asctime)s,%(msecs)03d %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s"
+
+    FORMATS = {
+        logging.DEBUG: grey + format + reset,
+        logging.INFO: blue + format + reset,
+        logging.WARNING: yellow + format + reset,
+        logging.ERROR: red + format + reset,
+        logging.CRITICAL: bold_red + format + reset
+    }
+
+    def format(self, record):
+        log_fmt = self.FORMATS.get(record.levelno)
+        formatter = logging.Formatter(log_fmt)
+        return formatter.format(record)
+
+
+logger = logging.getLogger(__name__)
+debug = 'PROD' not in os.environ
+logger.setLevel(logging.DEBUG if debug else logging.WARNING)
+logging.getLogger('werkzeug').setLevel(logging.DEBUG if debug else logging.WARNING)
 
+stream_handler = logging.StreamHandler()
+stream_handler.setFormatter(CustomFormatter())
+logger.root.addHandler(stream_handler)
+logger.info(f"Debug: {'en' if debug else 'dis'}abled")
 
 with open(os.path.join('configs', 'config.yml'), 'r') as file:
     config = yaml.safe_load(file.read())