From 5380806f2df176fc1b8a06bd4fa647fb8aed3d3f Mon Sep 17 00:00:00 2001 From: SWHL Date: Wed, 9 Apr 2025 09:15:50 +0800 Subject: [PATCH] feat(rapidocr): add colorlog --- python/rapidocr/utils/logger.py | 25 +++++++++++++++++++------ python/requirements.txt | 1 + 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/python/rapidocr/utils/logger.py b/python/rapidocr/utils/logger.py index 4bd91cc..5d718df 100644 --- a/python/rapidocr/utils/logger.py +++ b/python/rapidocr/utils/logger.py @@ -3,6 +3,8 @@ # @Contact: liekkaskono@163.com import logging +import colorlog + class Logger: def __init__(self, log_level=logging.DEBUG, logger_name=None): @@ -10,15 +12,26 @@ class Logger: self.logger.setLevel(log_level) self.logger.propagate = False - fmt = "[%(levelname)s] %(asctime)s %(filename)s:%(lineno)d: %(message)s" - formatter = logging.Formatter(fmt) + formatter = colorlog.ColoredFormatter( + "%(log_color)s[%(levelname)s] %(asctime)s [RapidOCR] %(filename)s:%(lineno)d: %(message)s", + log_colors={ + "DEBUG": "cyan", + "INFO": "green", + "WARNING": "yellow", + "ERROR": "red", + "CRITICAL": "red,bg_white", + }, + ) if not self.logger.handlers: - ch = logging.StreamHandler() - ch.setLevel(log_level) + console_handler = logging.StreamHandler() + console_handler.setFormatter(formatter) - ch.setFormatter(formatter) - self.logger.addHandler(ch) + for handler in self.logger.handlers: + self.logger.removeHandler(handler) + + console_handler.setLevel(log_level) + self.logger.addHandler(console_handler) def get_log(self): return self.logger diff --git a/python/requirements.txt b/python/requirements.txt index da23ea3..717df4b 100644 --- a/python/requirements.txt +++ b/python/requirements.txt @@ -8,3 +8,4 @@ Pillow tqdm omegaconf requests +colorlog \ No newline at end of file