This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author the.mulhern
Recipients the.mulhern
Date 2014-03-13.20:43:03
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1394743383.57.0.0490723383406.issue20918@psf.upfronthosting.co.za>
In-reply-to
Content
Here's my illustrating trace:

Python 3.3.2 (default, Aug 23 2013, 19:00:04) 
[GCC 4.8.1 20130603 (Red Hat 4.8.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> class Junk():
...     def __repr__(self):
...             raise AttributeError("junk")
... 
>>> import logging
>>> logging.warning("%r", Junk())
Traceback (most recent call last):
  File "/usr/lib64/python3.3/logging/__init__.py", line 937, in emit
    msg = self.format(record)
  File "/usr/lib64/python3.3/logging/__init__.py", line 808, in format
    return fmt.format(record)
  File "/usr/lib64/python3.3/logging/__init__.py", line 546, in format
    record.message = record.getMessage()
  File "/usr/lib64/python3.3/logging/__init__.py", line 311, in getMessage
    msg = msg % self.args
  File "<stdin>", line 3, in __repr__
AttributeError: junk
Logged from file <stdin>, line 1

The alternative that would be desirable is that the LogRecord initializer
would catch the exception and log that something bad happened while
trying to log. I expect that it would be better if it were optional
behavior.

Note that the use of the % operator happens very early in the logging
process, so implementing your own handler or overriding the makeRecord
method won't fix this problem.

There are plenty of situations where you would like to log a lot
of information, but would be embarrassed to crash while logging.

I realize that I could implement this by surrounding every log call
with some function that caught the exception and then logged that
an exception had occurred while trying to log, but I think it
might work better within the logging module.
History
Date User Action Args
2014-03-13 20:43:03the.mulhernsetrecipients: + the.mulhern
2014-03-13 20:43:03the.mulhernsetmessageid: <1394743383.57.0.0490723383406.issue20918@psf.upfronthosting.co.za>
2014-03-13 20:43:03the.mulhernlinkissue20918 messages
2014-03-13 20:43:03the.mulherncreate