summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-02-01 03:20:49 +0000
committerGerrit Code Review <review@openstack.org>2014-02-01 03:20:49 +0000
commitbd236009bdc0fc3d2586df4932b8c9c5124f7588 (patch)
treec6fc901105108e48d44ae8f151c0f43d06fedf7b
parent987e18edff18a5eb32c516495159351c0346cfa0 (diff)
parent70f045acc8a1628f770d3cf24e6348dc2e6b4887 (diff)
downloadkeystone-bd236009bdc0fc3d2586df4932b8c9c5124f7588.tar.gz
Merge "Sync log_handler module from Oslo" into stable/havana
-rw-r--r--keystone/openstack/common/log_handler.py31
-rw-r--r--openstack-common.conf2
2 files changed, 33 insertions, 0 deletions
diff --git a/keystone/openstack/common/log_handler.py b/keystone/openstack/common/log_handler.py
new file mode 100644
index 000000000..a5f7742e9
--- /dev/null
+++ b/keystone/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 keystone.openstack.common import notifier
+
+from oslo.config import cfg
+
+
+class PublishErrorsHandler(logging.Handler):
+ def emit(self, record):
+ if ('keystone.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))
diff --git a/openstack-common.conf b/openstack-common.conf
index 34a5ba678..c9c6f433c 100644
--- a/openstack-common.conf
+++ b/openstack-common.conf
@@ -9,6 +9,8 @@ module=importutils
module=install_venv_common
module=jsonutils
module=patch_tox_venv
+module=log
+module=log_handler
module=policy
module=redhat-eventlet.patch
module=strutils