Issue #8200: logging: Handle errors when multiprocessing is not fully loaded when logging occurs.
This commit is contained in:
parent
95affc4449
commit
3017a7bbbf
|
@ -287,10 +287,18 @@ class LogRecord(object):
|
|||
self.threadName = None
|
||||
if not logMultiprocessing:
|
||||
self.processName = None
|
||||
elif 'multiprocessing' not in sys.modules:
|
||||
self.processName = 'MainProcess'
|
||||
else:
|
||||
self.processName = sys.modules['multiprocessing'].current_process().name
|
||||
self.processName = 'MainProcess'
|
||||
mp = sys.modules.get('multiprocessing')
|
||||
if mp is not None:
|
||||
# Errors may occur if multiprocessing has not finished loading
|
||||
# yet - e.g. if a custom import hook causes third-party code
|
||||
# to run when multiprocessing calls import. See issue 8200
|
||||
# for an example
|
||||
try:
|
||||
self.processName = mp.current_process().name
|
||||
except StandardError:
|
||||
pass
|
||||
if logProcesses and hasattr(os, 'getpid'):
|
||||
self.process = os.getpid()
|
||||
else:
|
||||
|
|
|
@ -29,6 +29,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #8200: logging: Handle errors when multiprocessing is not
|
||||
fully loaded when logging occurs.
|
||||
|
||||
- Issue #3890: Fix recv() and recv_into() on non-blocking SSL sockets.
|
||||
|
||||
- Issue #8179: Fix macpath.realpath() on a non-existing path.
|
||||
|
|
Loading…
Reference in New Issue