From 7413e3c350de41b0504daa9089bf1db1b3e764e8 Mon Sep 17 00:00:00 2001 From: Vexed Date: Mon, 30 Aug 2021 21:15:26 +0100 Subject: [PATCH] [Logging] Make Rich more copy-/paste-able (#5181) * commit work, mostly untested * v minor refactor * force new renderer * Code style changes Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com> --- redbot/logging.py | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/redbot/logging.py b/redbot/logging.py index 4bef0c385..ec1af3114 100644 --- a/redbot/logging.py +++ b/redbot/logging.py @@ -171,43 +171,30 @@ class RedLogRender(LogRender): link_path=None, logger_name=None, ): - output = Table.grid(padding=(0, 1)) - output.expand = True - if self.show_time: - output.add_column(style="log.time") - if self.show_level: - output.add_column(style="log.level", width=self.level_width) - output.add_column(ratio=1, style="log.message", overflow="fold") - if self.show_path and path: - output.add_column(style="log.path") - if logger_name: - output.add_column() - row = [] + output = Text() if self.show_time: log_time = log_time or console.get_datetime() log_time_display = log_time.strftime(time_format or self.time_format) if log_time_display == self._last_time: - row.append(Text(" " * len(log_time_display))) + output.append(" " * (len(log_time_display) + 1)) else: - row.append(Text(log_time_display)) + output.append(f"{log_time_display} ", style="log.time") self._last_time = log_time_display if self.show_level: - row.append(level) + # The space needs to be added separately so that log level is colored by + # Rich. + output.append(level) + output.append(" ") + if logger_name: + output.append(f"[{logger_name}] ", style="bright_black") - row.append(Renderables(renderables)) + output.append(*renderables) if self.show_path and path: path_text = Text() path_text.append(path, style=f"link file://{link_path}" if link_path else "") if line_no: path_text.append(f":{line_no}") - row.append(path_text) - - if logger_name: - logger_name_text = Text() - logger_name_text.append(f"[{logger_name}]", style="bright_black") - row.append(logger_name_text) - - output.add_row(*row) + output.append(path_text) return output @@ -286,7 +273,8 @@ class RedRichHandler(RichHandler): line_no=record.lineno, link_path=record.pathname if self.enable_link_path else None, logger_name=record.name, - ) + ), + soft_wrap=True, ) if traceback: self.console.print(traceback)