-
Notifications
You must be signed in to change notification settings - Fork 4
Closed
Description
qcom-build-utils/scripts/color_logger.py
Lines 51 to 59 in e966f5e
| def log(self, level, message): | |
| reset = "\033[0m" | |
| color = self.LEVEL_COLORS.get(level, "") | |
| level_str = self.LEVEL_STRING.get(level, ' ') | |
| colored_message = f"{color}{message}{reset}" | |
| timestamp = datetime.datetime.now().strftime("%H:%M:%S") | |
| self.logger.log(level, f"[{timestamp}] {level_str} : {colored_message if self.color_enabled else message}") | |
In this block of code, the log message is wrapped around color specific escape codes. Non interactive terminals don't understand these escape codes and hence they are printed in plaintext.
We can check for existence of an interactive terminal and proceed with our logging accordingly
def log(self, level, message):
....
colored_message = f"{message}" if sys.stdout.isatty() else f"{color}{message}{reset}"
....Copilot
Metadata
Metadata
Assignees
Labels
No labels