diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2020-04-09 00:17:35 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2020-04-09 00:17:37 +0900 |
commit | 1ca220762b7d13697d9c8354db80493322f724d8 (patch) | |
tree | 66c6212e5e54feb2c3e19a6d4b25aab6e93deb11 | |
parent | 2def1fc70410bafa1120e69c6cbf9c4ebe819515 (diff) | |
download | sphinx-git-1ca220762b7d13697d9c8354db80493322f724d8.tar.gz |
Fix #7423: crashed when giving a non-string object to logger
-rw-r--r-- | CHANGES | 2 | ||||
-rw-r--r-- | sphinx/util/logging.py | 2 | ||||
-rw-r--r-- | tests/test_util_logging.py | 8 |
3 files changed, 11 insertions, 1 deletions
@@ -16,6 +16,8 @@ Features added Bugs fixed ---------- +* #7423: crashed when giving a non-string object to logger + Testing -------- diff --git a/sphinx/util/logging.py b/sphinx/util/logging.py index fbf161ec0..53053faaf 100644 --- a/sphinx/util/logging.py +++ b/sphinx/util/logging.py @@ -412,7 +412,7 @@ class WarningIsErrorFilter(logging.Filter): message = record.msg # use record.msg itself if location: - raise SphinxWarning(location + ":" + message) + raise SphinxWarning(location + ":" + str(message)) else: raise SphinxWarning(message) else: diff --git a/tests/test_util_logging.py b/tests/test_util_logging.py index 337782d87..36034cd92 100644 --- a/tests/test_util_logging.py +++ b/tests/test_util_logging.py @@ -48,6 +48,14 @@ def test_info_and_warning(app, status, warning): assert 'message5' in warning.getvalue() +def test_Exception(app, status, warning): + logging.setup(app, status, warning) + logger = logging.getLogger(__name__) + + logger.info(Exception) + assert "<class 'Exception'>" in status.getvalue() + + def test_verbosity_filter(app, status, warning): # verbosity = 0: INFO app.verbosity = 0 |