From: Vinay Sajip Date: Thu, 19 Feb 2009 12:31:32 +0000 (+0000) Subject: #5287: Add exception handling around findCaller() call to help out IronPython. X-Git-Tag: v2.7a1~1984 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1a0d2befeaf445a2a7094744b30e7cab1492c340;p=python #5287: Add exception handling around findCaller() call to help out IronPython. --- diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index 8773225b24..e7eb51df3b 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -1128,7 +1128,12 @@ class Logger(Filterer): all the handlers of this logger to handle the record. """ if _srcfile: - fn, lno, func = self.findCaller() + #IronPython doesn't track Python frames, so findCaller throws an + #exception. We trap it here so that IronPython can use logging. + try: + fn, lno, func = self.findCaller() + except ValueError: + fn, lno, func = "(unknown file)", 0, "(unknown function)" else: fn, lno, func = "(unknown file)", 0, "(unknown function)" if exc_info: diff --git a/Misc/NEWS b/Misc/NEWS index aaa702b5fc..6a65384b8e 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -161,16 +161,18 @@ Core and Builtins Library ------- +- Issue #5287: Add exception handling around findCaller() call to help out + IronPython. - Issue #5282: Fixed mmap resize on 32bit windows and unix. When offset > 0, The file was resized to wrong size. - Issue #5292: Fixed mmap crash on its boundary access m[len(m)]. -- Issue #2279: distutils.sdist.add_defaults now add files +- Issue #2279: distutils.sdist.add_defaults now add files from the package_data and the data_files metadata. -- Issue #5257: refactored all tests in distutils, so they use +- Issue #5257: refactored all tests in distutils, so they use support.TempdirManager, to avoid writing in the tests directory. - Issue #4524: distutils build_script command failed with --with-suffix=3.