|  | @@ -0,0 +1,29 @@
 | 
	
		
			
				|  |  | +import logging
 | 
	
		
			
				|  |  | +import sys
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def _check_logger_class():
 | 
	
		
			
				|  |  | +    """Make sure process name is recorded when loggers are used."""
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    from multiprocessing.process import current_process
 | 
	
		
			
				|  |  | +    logging._acquireLock()
 | 
	
		
			
				|  |  | +    try:
 | 
	
		
			
				|  |  | +        OldLoggerClass = logging.getLoggerClass()
 | 
	
		
			
				|  |  | +        if not getattr(OldLoggerClass, '_process_aware', False):
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            class ProcessAwareLogger(OldLoggerClass):
 | 
	
		
			
				|  |  | +                _process_aware = True
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                def makeRecord(self, *args, **kwds):
 | 
	
		
			
				|  |  | +                    record = OldLoggerClass.makeRecord(self, *args, **kwds)
 | 
	
		
			
				|  |  | +                    record.processName = current_process()._name
 | 
	
		
			
				|  |  | +                    return record
 | 
	
		
			
				|  |  | +            logging.setLoggerClass(ProcessAwareLogger)
 | 
	
		
			
				|  |  | +    finally:
 | 
	
		
			
				|  |  | +        logging._releaseLock()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def monkeypatch():
 | 
	
		
			
				|  |  | +    major, minor = sys.version_info[:2]
 | 
	
		
			
				|  |  | +    if major == 2 and minor < 6: # python < 2.6
 | 
	
		
			
				|  |  | +        _check_logger_class()
 | 
	
		
			
				|  |  | +
 |