From 2bae282af6e25630bebbd47ece510c21adeda9cb Mon Sep 17 00:00:00 2001 From: Alexej Penner Date: Mon, 5 Aug 2024 11:08:23 +0200 Subject: [PATCH] Make urls pop out from the sea of purple/cyan in the logs (#2894) * Make urls pop out from the sea of purple/cyan in the logs * Readded deleted file --- src/zenml/logger.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/zenml/logger.py b/src/zenml/logger.py index d37aa6a5626..1883711345e 100644 --- a/src/zenml/logger.py +++ b/src/zenml/logger.py @@ -46,6 +46,7 @@ class CustomFormatter(logging.Formatter): cyan: str = "\x1b[1;36m" bold_red: str = "\x1b[31;1m" purple: str = "\x1b[1;35m" + blue: str = "\x1b[34m" reset: str = "\x1b[0m" format_template: str = ( @@ -94,6 +95,18 @@ def format(self, record: logging.LogRecord) -> str: + quoted + self.COLORS.get(LoggingLevels(record.levelno)), ) + + # Format URLs + url_pattern = r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+' + urls = re.findall(url_pattern, formatted_message) + for url in urls: + formatted_message = formatted_message.replace( + url, + self.reset + + self.blue + + url + + self.COLORS.get(LoggingLevels(record.levelno)), + ) return formatted_message