Issue #7014: logging: Improved IronPython 2.6 compatibility.

This commit is contained in:
Vinay Sajip 2009-09-29 07:11:53 +00:00
parent 87b4e726be
commit 6d50b37b7c
1 changed files with 12 additions and 5 deletions

View File

@ -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