[FIX] add the logging handler only to the root logger. let the loggers propagate...
authorChristophe Simonis <chs@openerp.com>
Wed, 12 Mar 2014 17:18:19 +0000 (18:18 +0100)
committerChristophe Simonis <chs@openerp.com>
Wed, 12 Mar 2014 17:18:19 +0000 (18:18 +0100)
bzr revid: chs@openerp.com-20140312171819-bnj3md07w4le2m7m

openerp/netsvc.py

index d96449c..6e477f3 100644 (file)
@@ -2,7 +2,7 @@
 ##############################################################################
 #
 #    OpenERP, Open Source Management Solution
-#    Copyright (C) 2004-2012 OpenERP SA (<http://www.openerp.com>)
+#    Copyright (C) 2004-2014 OpenERP SA (<http://www.openerp.com>)
 #
 #    This program is free software: you can redistribute it and/or modify
 #    it under the terms of the GNU Affero General Public License as
@@ -149,7 +149,13 @@ class ColoredFormatter(DBFormatter):
         record.levelname = COLOR_PATTERN % (30 + fg_color, 40 + bg_color, record.levelname)
         return DBFormatter.format(self, record)
 
+_logger_init = False
 def init_logger():
+    global _logger_init
+    if _logger_init:
+        return
+    _logger_init = True
+
     from tools.translate import resetlocale
     resetlocale()
 
@@ -197,6 +203,8 @@ def init_logger():
         formatter = DBFormatter(format)
     handler.setFormatter(formatter)
 
+    logging.getLogger().addHandler(handler)
+
     # Configure handlers
     default_config = [
         'openerp.netsvc.rpc.request:INFO',
@@ -233,11 +241,7 @@ def init_logger():
         loggername, level = logconfig_item.split(':')
         level = getattr(logging, level, logging.INFO)
         logger = logging.getLogger(loggername)
-        logger.handlers = []
         logger.setLevel(level)
-        logger.addHandler(handler)
-        if loggername != '':
-            logger.propagate = False
 
     for logconfig_item in default_config + pseudo_config + logconfig:
         _logger.debug('logger level set: "%s"', logconfig_item)