Commit 6d50b37b authored by Vinay Sajip's avatar Vinay Sajip

Issue #7014: logging: Improved IronPython 2.6 compatibility.

parent 87b4e726
...@@ -271,11 +271,14 @@ class LogRecord: ...@@ -271,11 +271,14 @@ class LogRecord:
else: else:
self.thread = None self.thread = None
self.threadName = None self.threadName = None
if logMultiprocessing: if not logMultiprocessing:
from multiprocessing import current_process
self.processName = current_process().name
else:
self.processName = None 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'): if logProcesses and hasattr(os, 'getpid'):
self.process = os.getpid() self.process = os.getpid()
else: else:
...@@ -1114,7 +1117,11 @@ class Logger(Filterer): ...@@ -1114,7 +1117,11 @@ class Logger(Filterer):
Find the stack frame of the caller so that we can note the source Find the stack frame of the caller so that we can note the source
file name, line number and function name. 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)" rv = "(unknown file)", 0, "(unknown function)"
while hasattr(f, "f_code"): while hasattr(f, "f_code"):
co = f.f_code co = f.f_code
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment