summaryrefslogtreecommitdiffstats
path: root/openstack
diff options
context:
space:
mode:
authorDavanum Srinivas <dims@linux.vnet.ibm.com>2013-05-14 08:39:36 -0400
committerDavanum Srinivas <dims@linux.vnet.ibm.com>2013-05-14 08:41:33 -0400
commitb135234079d0b01791f71568d4515ee828a96686 (patch)
tree84e253b064d65a46adb53f9b4b2c0db572746e1a /openstack
parent3e0114f570d97c47b1b8eefce0bcd27146098b8d (diff)
downloadoslo-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.py18
-rw-r--r--openstack/common/log_handler.py31
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))