]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Fix import log_handler error with publish_errors set
authorChang Bo Guo <guochbo@cn.ibm.com>
Wed, 6 Nov 2013 06:37:57 +0000 (22:37 -0800)
committerChang Bo Guo <guochbo@cn.ibm.com>
Wed, 6 Nov 2013 06:47:32 +0000 (22:47 -0800)
Sync from Olso.
Commit Id is Ibf28ba17f81b5ddeda653f6a3501ecac18ffcd42

This handler sends all error logs as rpc notifications.
Note: when using publish_errors you also need to set the
notification_driver option too.

Closes-bug: #1240349
Change-Id: Ie66b23af8da2e439e0ac2f5677f6a064e3dd3133

neutron/openstack/common/log_handler.py [new file with mode: 0644]
openstack-common.conf

diff --git a/neutron/openstack/common/log_handler.py b/neutron/openstack/common/log_handler.py
new file mode 100644 (file)
index 0000000..a8586de
--- /dev/null
@@ -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 neutron.openstack.common import notifier
+
+from oslo.config import cfg
+
+
+class PublishErrorsHandler(logging.Handler):
+    def emit(self, record):
+        if ('neutron.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))
index ff221b109e3491ef25f5c4105caf8fbb94d7a81f..57606c67aecf88325ff061357de61f10cd40c6fc 100644 (file)
@@ -13,6 +13,7 @@ module=jsonutils
 module=local
 module=lockutils
 module=log
+module=log_handler
 module=loopingcall
 module=network_utils
 module=notifier