about summary refs log tree commit diff
path: root/src/blog_node5_net.py
diff options
context:
space:
mode:
authoruser <user@node5.net>2024-04-09 19:11:01 +0200
committeruser <user@node5.net>2024-04-09 19:11:01 +0200
commit535d1119deacb8e1444c92b3bcb7bbec318b2e4b (patch)
treec0418194883a3058ade575739c58012cd90cd704 /src/blog_node5_net.py
parent3083f77433a12da5b1fc5f59afb2c48562346505 (diff)
proper logging
Diffstat (limited to 'src/blog_node5_net.py')
-rw-r--r--src/blog_node5_net.py31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/blog_node5_net.py b/src/blog_node5_net.py
index 1b1ebce..a56ff19 100644
--- a/src/blog_node5_net.py
+++ b/src/blog_node5_net.py
@@ -13,9 +13,36 @@ import article
 import db_handler
 import telegram_handler
 
-logging.basicConfig(format='%(asctime)s,%(msecs)03d %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s',
-                    datefmt='%Y-%m-%d:%H:%M:%S', level=logging.DEBUG)
+
+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__)
+logger.root.setLevel(logging.INFO)
+
+stream_handler = logging.StreamHandler()
+stream_handler.setFormatter(CustomFormatter())
+logger.root.addHandler(stream_handler)
 
 with open(os.path.join('configs', 'config.yml'), 'r') as file:
     config = yaml.safe_load(file.read())