[New-bugs-announce] [issue34086] logging.Handler.handleError regressed in python3
Oren
report at bugs.python.org
Tue Jul 10 13:58:53 EDT 2018
New submission from Oren <oren.leaffer at gmail.com>:
In python2, calling Handler.handleError may not be strictly correct, but it doesn't raise an exception. However, this has regressed since this patch:
https://hg.python.org/cpython/rev/d7b868cdd9bb
$ cat logbug.py
import logging
class CustomHandler(logging.Handler):
def transmit(self, record):
return False
def emit(self, record):
if not self.transmit(record):
self.handleError(record)
def main():
logger = logging.getLogger()
logger.addHandler(CustomHandler())
logger.warning('this will work in python 2.7, but not 3')
if __name__ == '__main__':
main()
$ python2 logbug.py
None
Logged from file logbug.py, line 15
$ python3 logbug.py
--- Logging error ---
NoneType: None
Call stack:
Traceback (most recent call last):
File "logbug.py", line 20, in <module>
main()
File "logbug.py", line 15, in main
logger.warning('this will work in python 2.7, but not 3')
File "/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 1318, in warning
self._log(WARNING, msg, args, **kwargs)
File "/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 1442, in _log
self.handle(record)
File "/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 1452, in handle
self.callHandlers(record)
File "/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 1514, in callHandlers
hdlr.handle(record)
File "/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 863, in handle
self.emit(record)
File "logbug.py", line 9, in emit
self.handleError(record)
File "/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 920, in handleError
frame = tb.tb_frame
AttributeError: 'NoneType' object has no attribute 'tb_frame'
----------
components: Library (Lib)
messages: 321391
nosy: orenl
priority: normal
severity: normal
status: open
title: logging.Handler.handleError regressed in python3
versions: Python 3.4, Python 3.5, Python 3.6, Python 3.7, Python 3.8
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue34086>
_______________________________________
More information about the New-bugs-announce
mailing list