From: Vinay Sajip Date: Tue, 29 Sep 2009 07:11:53 +0000 (+0000) Subject: Issue #7014: logging: Improved IronPython 2.6 compatibility. X-Git-Tag: v2.6.3rc1~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6d50b37b7c5c4cf5d38c36ba23b4db118336c728;p=python Issue #7014: logging: Improved IronPython 2.6 compatibility. --- diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index c1678b79e2..2b8a021724 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -271,11 +271,14 @@ class LogRecord: else: self.thread = None self.threadName = None - if logMultiprocessing: - from multiprocessing import current_process - self.processName = current_process().name - else: + if not logMultiprocessing: self.processName = None + else: + try: + from multiprocessing import current_process + self.processName = current_process().name + except ImportError: + self.processName = None if logProcesses and hasattr(os, 'getpid'): self.process = os.getpid() else: @@ -1114,7 +1117,11 @@ class Logger(Filterer): Find the stack frame of the caller so that we can note the source file name, line number and function name. """ - f = currentframe().f_back + f = currentframe() + #On some versions of IronPython, currentframe() returns None if + #IronPython isn't run with -X:Frames. + if f is not None: + f = f.f_back rv = "(unknown file)", 0, "(unknown function)" while hasattr(f, "f_code"): co = f.f_code