From 384e3d1d884f0cacd6d7f95f319f06310d8b0a60 Mon Sep 17 00:00:00 2001 From: rmortens Date: Sun, 21 Aug 2016 22:59:14 -0600 Subject: [PATCH 1/3] Add change format for debug-log-level cmd --- qutebrowser/misc/utilcmds.py | 1 + qutebrowser/utils/log.py | 35 ++++++++++++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/qutebrowser/misc/utilcmds.py b/qutebrowser/misc/utilcmds.py index 1171f5a3d..4de20f767 100644 --- a/qutebrowser/misc/utilcmds.py +++ b/qutebrowser/misc/utilcmds.py @@ -259,6 +259,7 @@ def debug_log_level(level: str): Args: level: The log level to set. """ + log.change_console_formatter(log.LOG_LEVELS[level.upper()]) log.console_handler.setLevel(log.LOG_LEVELS[level.upper()]) diff --git a/qutebrowser/utils/log.py b/qutebrowser/utils/log.py index 41f6a8897..4f755dd21 100644 --- a/qutebrowser/utils/log.py +++ b/qutebrowser/utils/log.py @@ -250,6 +250,18 @@ def _init_handlers(level, color, force_color, json_logging, ram_capacity): return console_handler, ram_handler +def get_console_format(level): + """Get format. + + Args: + level: The numeric logging level. + + Return: + Format of the requested level. + """ + return EXTENDED_FMT if level <= logging.DEBUG else SIMPLE_FMT + + def _init_formatters(level, color, force_color, json_logging): """Init log formatters. @@ -264,7 +276,7 @@ def _init_formatters(level, color, force_color, json_logging): console_formatter/ram_formatter: logging.Formatter instances. use_colorama: Whether to use colorama. """ - console_fmt = EXTENDED_FMT if level <= logging.DEBUG else SIMPLE_FMT + console_fmt = get_console_format(level) ram_formatter = ColoredFormatter(EXTENDED_FMT, DATEFMT, '{', use_colors=False) html_formatter = HTMLFormatter(EXTENDED_FMT_HTML, DATEFMT, @@ -291,6 +303,23 @@ def _init_formatters(level, color, force_color, json_logging): return console_formatter, ram_formatter, html_formatter, use_colorama +def change_console_formatter(level): + """Change console formatter based on level. + + Args: + level: The numeric logging level + """ + if not isinstance(console_handler.formatter, ColoredFormatter): + # JSON Formatter being used for end2end tests + pass + + use_colors = console_handler.formatter.use_colors + console_fmt = get_console_format(level) + console_formatter = ColoredFormatter(console_fmt, DATEFMT, '{', + use_colors=use_colors) + console_handler.setFormatter(console_formatter) + + def qt_message_handler(msg_type, context, msg): """Qt message handler to redirect qWarning etc. to the logging system. @@ -539,10 +568,10 @@ class ColoredFormatter(logging.Formatter): def __init__(self, fmt, datefmt, style, *, use_colors): super().__init__(fmt, datefmt, style) - self._use_colors = use_colors + self.use_colors = use_colors def format(self, record): - if self._use_colors: + if self.use_colors: color_dict = dict(COLOR_ESCAPES) color_dict['reset'] = RESET_ESCAPE log_color = LOG_COLORS[record.levelname] From 2408d76e4c917a51edd6b277605d25759c1809bb Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 25 Aug 2016 23:17:10 +0200 Subject: [PATCH 2/3] Improve get_console_format docstring --- qutebrowser/utils/log.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qutebrowser/utils/log.py b/qutebrowser/utils/log.py index 4f755dd21..17c0d5e5d 100644 --- a/qutebrowser/utils/log.py +++ b/qutebrowser/utils/log.py @@ -251,7 +251,7 @@ def _init_handlers(level, color, force_color, json_logging, ram_capacity): def get_console_format(level): - """Get format. + """Get the log format the console logger should use. Args: level: The numeric logging level. From 7364793ea52cd195248b196e8438585b09932897 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 25 Aug 2016 23:17:48 +0200 Subject: [PATCH 3/3] Regenerate authors --- README.asciidoc | 1 + 1 file changed, 1 insertion(+) diff --git a/README.asciidoc b/README.asciidoc index 02d3ccc74..be82734f8 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -224,6 +224,7 @@ Contributors, sorted by the number of commits in descending order: * Franz Fellner * zwarag * xd1le +* rmortens * oniondreams * issue * haxwithaxe