Skip to content

Commit

Permalink
Fix sphinx-doc#7423: crashed when giving a non-string object to logger
Browse files Browse the repository at this point in the history
  • Loading branch information
tk0miya committed Apr 8, 2020
1 parent 2def1fc commit 1ca2207
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 1 deletion.
2 changes: 2 additions & 0 deletions CHANGES
Expand Up @@ -16,6 +16,8 @@ Features added
Bugs fixed
----------

* #7423: crashed when giving a non-string object to logger

Testing
--------

Expand Down
2 changes: 1 addition & 1 deletion sphinx/util/logging.py
Expand Up @@ -412,7 +412,7 @@ def filter(self, record: logging.LogRecord) -> bool:
message = record.msg # use record.msg itself

if location:
raise SphinxWarning(location + ":" + message)
raise SphinxWarning(location + ":" + str(message))
else:
raise SphinxWarning(message)
else:
Expand Down
8 changes: 8 additions & 0 deletions tests/test_util_logging.py
Expand Up @@ -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
Expand Down

0 comments on commit 1ca2207

Please sign in to comment.