Explorar o código

core/log: do not attach multiple handlers to the same logger

logging.getLogger when given the same name twice, will return the same
object. Do not attach handler there every time, it will really open new
file, leading to multiplicated log entries and depleting file
descriptors.

QubesOS/qubes-issues#1697
Marek Marczykowski-Górecki %!s(int64=8) %!d(string=hai) anos
pai
achega
539a46ca9a
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      qubes/log.py

+ 2 - 0
qubes/log.py

@@ -125,6 +125,8 @@ def get_vm_logger(vmname):
     '''
 
     logger = logging.getLogger('vm.' + vmname)
+    if logger.handlers:
+        return logger
     handler = logging.FileHandler(
         os.path.join(LOGPATH, 'vm-{}.log'.format(vmname)))
     handler.setFormatter(formatter_log)