From 23dfb6ee4d5abb31552490e80c2f57187b00fb34 Mon Sep 17 00:00:00 2001
From: Davanum Srinivas <davanum@gmail.com>
Date: Wed, 18 Mar 2015 14:19:47 -0400
Subject: [PATCH] Publish tracebacks only on debug level

With the new heartbeat code, there may be a lot of tracebacks
we should mute them for normal ops and log them only when
we need (enable debug level).

Change-Id: I4b729ed1a6ddad2a0e48102852b2ce7d66423eaa
---
 oslo_messaging/_drivers/impl_rabbit.py | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/oslo_messaging/_drivers/impl_rabbit.py b/oslo_messaging/_drivers/impl_rabbit.py
index b24e67a01..34466d292 100644
--- a/oslo_messaging/_drivers/impl_rabbit.py
+++ b/oslo_messaging/_drivers/impl_rabbit.py
@@ -952,8 +952,9 @@ class Connection(object):
                         LOG.info(_LI("A recoverable connection/channel error "
                                      "occurred, trying to reconnect: %s"), exc)
                 except Exception:
-                    LOG.exception(_LE("Unexpected error during heartbeart "
-                                      "thread processing, retrying..."))
+                    LOG.warning(_LW("Unexpected error during heartbeart "
+                                    "thread processing, retrying..."))
+                    LOG.debug('Exception', exc_info=True)
 
             self._heartbeat_exit_event.wait(
                 timeout=self._heartbeat_wait_timeout)
@@ -998,8 +999,8 @@ class Connection(object):
 
         def _error_callback(exc):
             _recoverable_error_callback(exc)
-            LOG.exception(_('Failed to consume message from queue: %s'),
-                          exc)
+            LOG.error(_('Failed to consume message from queue: %s'),
+                      exc)
 
         def _consume():
             if self.do_consume:
@@ -1037,8 +1038,9 @@ class Connection(object):
     @staticmethod
     def _log_publisher_send_error(topic, exc):
         log_info = {'topic': topic, 'err_str': exc}
-        LOG.exception(_("Failed to publish message to topic "
-                        "'%(topic)s': %(err_str)s"), log_info)
+        LOG.error(_("Failed to publish message to topic "
+                    "'%(topic)s': %(err_str)s"), log_info)
+        LOG.debug('Exception', exc_info=exc)
 
     default_marker = object()