]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Pull Oslo log fix to enable root logger initialization
authorZhiteng Huang <zhiteng.huang@intel.com>
Wed, 13 Mar 2013 05:58:27 +0000 (13:58 +0800)
committerZhiteng Huang <zhiteng.huang@intel.com>
Mon, 18 Mar 2013 13:51:09 +0000 (21:51 +0800)
Previous log module in Oslo doesn't initialize root logger, which results
in lacking of log message for non-openstack library (such as stevedore).
This patch pull latest log module from Oslo, which has recently merged a
change to enable root logger initialization.

Notice that this change also includes one log modules fix in Oslo which
'unignore' log_format setting.  As a result, one may experience log format
change when using devstack.  To get old log format back, simply assign
a NULL string (aka nothing) to 'log_format' configure option in cinder.conf.
For example, just append cinder.conf with one new line 'log_format = '.

Fix bug: # 1131322

Change-Id: I86396f15ca152512ce6d18d6d424a855b27f495e

cinder/openstack/common/log.py

index 3638b8c980eb07d48dcb1b5324dec6a78daee005..9f321b94675ae6141d3fcd0f4c57790c828c56cf 100644 (file)
@@ -1,6 +1,6 @@
 # vim: tabstop=4 shiftwidth=4 softtabstop=4
 
-# Copyright 2011 OpenStack LLC.
+# Copyright 2011 OpenStack Foundation.
 # Copyright 2010 United States Government as represented by the
 # Administrator of the National Aeronautics and Space Administration.
 # All Rights Reserved.
@@ -47,6 +47,7 @@ from cinder.openstack.common import jsonutils
 from cinder.openstack.common import local
 from cinder.openstack.common import notifier
 
+
 _DEFAULT_LOG_FORMAT = "%(asctime)s %(levelname)8s [%(name)s] %(message)s"
 _DEFAULT_LOG_DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
 
@@ -324,16 +325,11 @@ def _create_logging_excepthook(product_name):
 
 def setup(product_name):
     """Setup logging."""
-    sys.excepthook = _create_logging_excepthook(product_name)
-
     if CONF.log_config:
-        try:
-            logging.config.fileConfig(CONF.log_config)
-        except Exception:
-            traceback.print_exc()
-            raise
+        logging.config.fileConfig(CONF.log_config)
     else:
-        _setup_logging_from_conf(product_name)
+        _setup_logging_from_conf()
+    sys.excepthook = _create_logging_excepthook(product_name)
 
 
 def set_defaults(logging_context_format_string):
@@ -366,8 +362,8 @@ def _find_facility_from_conf():
     return facility
 
 
-def _setup_logging_from_conf(product_name):
-    log_root = getLogger(product_name).logger
+def _setup_logging_from_conf():
+    log_root = getLogger(None).logger
     for handler in log_root.handlers:
         log_root.removeHandler(handler)
 
@@ -405,7 +401,8 @@ def _setup_logging_from_conf(product_name):
         if CONF.log_format:
             handler.setFormatter(logging.Formatter(fmt=CONF.log_format,
                                                    datefmt=datefmt))
-        handler.setFormatter(LegacyFormatter(datefmt=datefmt))
+        else:
+            handler.setFormatter(LegacyFormatter(datefmt=datefmt))
 
     if CONF.debug:
         log_root.setLevel(logging.DEBUG)