diff options
author | Davanum Srinivas <dims@linux.vnet.ibm.com> | 2013-05-14 08:39:36 -0400 |
---|---|---|
committer | Davanum Srinivas <dims@linux.vnet.ibm.com> | 2013-05-14 08:41:33 -0400 |
commit | b135234079d0b01791f71568d4515ee828a96686 (patch) | |
tree | 84e253b064d65a46adb53f9b4b2c0db572746e1a /openstack | |
parent | 3e0114f570d97c47b1b8eefce0bcd27146098b8d (diff) | |
download | oslo-b135234079d0b01791f71568d4515ee828a96686.tar.gz oslo-b135234079d0b01791f71568d4515ee828a96686.tar.xz oslo-b135234079d0b01791f71568d4515ee828a96686.zip |
Remove the notifier and its dependencies from log.py
Move the code related to the publish error handler out of the
log module so its easier for other projects to consume it
Fixes LP #1179528
Change-Id: Ibf28ba17f81b5ddeda653f6a3501ecac18ffcd42
Diffstat (limited to 'openstack')
-rw-r--r-- | openstack/common/log.py | 18 | ||||
-rw-r--r-- | openstack/common/log_handler.py | 31 |
2 files changed, 36 insertions, 13 deletions
diff --git a/openstack/common/log.py b/openstack/common/log.py index d7ba467..d125d90 100644 --- a/openstack/common/log.py +++ b/openstack/common/log.py @@ -43,9 +43,9 @@ import traceback from oslo.config import cfg from openstack.common.gettextutils import _ +from openstack.common import importutils from openstack.common import jsonutils from openstack.common import local -from openstack.common import notifier _DEFAULT_LOG_DATE_FORMAT = "%Y-%m-%d %H:%M:%S" @@ -322,17 +322,6 @@ class JSONFormatter(logging.Formatter): return jsonutils.dumps(message) -class PublishErrorsHandler(logging.Handler): - def emit(self, record): - if ('openstack.common.notifier.log_notifier' in - CONF.notification_driver): - return - notifier.api.notify(None, 'error.publisher', - 'error_notification', - notifier.api.ERROR, - dict(error=record.msg)) - - def _create_logging_excepthook(product_name): def logging_excepthook(type, value, tb): extra = {} @@ -428,7 +417,10 @@ def _setup_logging_from_conf(): log_root.addHandler(streamlog) if CONF.publish_errors: - log_root.addHandler(PublishErrorsHandler(logging.ERROR)) + handler = importutils.import_object( + "openstack.common.log_handler.PublishErrorsHandler", + logging.ERROR) + log_root.addHandler(handler) datefmt = CONF.log_date_format for handler in log_root.handlers: diff --git a/openstack/common/log_handler.py b/openstack/common/log_handler.py new file mode 100644 index 0000000..1f90948 --- /dev/null +++ b/openstack/common/log_handler.py @@ -0,0 +1,31 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2013 IBM Corp. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +import logging + +from openstack.common import notifier + +from oslo.config import cfg + + +class PublishErrorsHandler(logging.Handler): + def emit(self, record): + if ('openstack.common.notifier.log_notifier' in + cfg.CONF.notification_driver): + return + notifier.api.notify(None, 'error.publisher', + 'error_notification', + notifier.api.ERROR, + dict(error=record.msg)) |