diff options
| author | Selwin Ong <selwin.ong@gmail.com> | 2020-07-31 10:54:27 +0700 |
|---|---|---|
| committer | Selwin Ong <selwin.ong@gmail.com> | 2020-07-31 10:54:27 +0700 |
| commit | 16af5face477b8d298fe41ab16b5a64b11efd139 (patch) | |
| tree | 645c0bfeb1afbced48440e69eba71199a5ec1916 | |
| parent | 167ab96070be9dbc1b4b55dde0f25779e408cdfd (diff) | |
| download | rq-logging-improvements.tar.gz | |
log messages < error is now output to stdout instead of stderrlogging-improvements
| -rw-r--r-- | rq/logutils.py | 8 | ||||
| -rw-r--r-- | rq/worker.py | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/rq/logutils.py b/rq/logutils.py index 324553b..5759a11 100644 --- a/rq/logutils.py +++ b/rq/logutils.py @@ -3,6 +3,7 @@ from __future__ import (absolute_import, division, print_function, unicode_literals) import logging +import sys from rq.utils import ColorizingStreamHandler from rq.defaults import (DEFAULT_LOGGING_FORMAT, @@ -15,9 +16,14 @@ def setup_loghandlers(level=None, date_format=DEFAULT_LOGGING_DATE_FORMAT, if not _has_effective_handler(logger): formatter = logging.Formatter(fmt=log_format, datefmt=date_format) - handler = ColorizingStreamHandler() + handler = ColorizingStreamHandler(stream=sys.stdout) handler.setFormatter(formatter) + handler.addFilter(lambda record: record.levelno < logging.ERROR) + error_handler = ColorizingStreamHandler(stream=sys.stderr) + error_handler.setFormatter(formatter) + error_handler.addFilter(lambda record: record.levelno >= logging.ERROR) logger.addHandler(handler) + logger.addHandler(error_handler) if level is not None: # The level may be a numeric value (e.g. when using the logging module constants) diff --git a/rq/worker.py b/rq/worker.py index 6868f75..bae12f1 100644 --- a/rq/worker.py +++ b/rq/worker.py @@ -974,7 +974,7 @@ class Worker(object): def handle_exception(self, job, *exc_info): """Walks the exception handler stack to delegate exception handling.""" exc_string = Worker._get_safe_exception_string( - traceback.format_exception_only(*exc_info[:2]) + traceback.format_exception(*exc_info) + traceback.format_exception(*exc_info) ) self.log.error(exc_string, exc_info=True, extra={ 'func': job.func_name, |
