replace string format arguments with function parameters

There are files containing string format arguments inside
logging messages. Using logging function parameters should
be preferred.

Change-Id: I4a7ce6916aefb2f2d445f0ebd977c824b1c51e24
Partial-Bug: #1321274
This commit is contained in:
Christian Berendt 2014-05-20 14:50:23 +02:00 committed by Mark McLoughlin
parent 99afe32345
commit 409108c74f
11 changed files with 32 additions and 33 deletions

View File

@ -248,4 +248,4 @@ def _add_unique_id(msg):
"""Add unique_id for checking duplicate messages.""" """Add unique_id for checking duplicate messages."""
unique_id = uuid.uuid4().hex unique_id = uuid.uuid4().hex
msg.update({UNIQUE_ID: unique_id}) msg.update({UNIQUE_ID: unique_id})
LOG.debug('UNIQUE_ID is %s.' % (unique_id)) LOG.debug('UNIQUE_ID is %s.', unique_id)

View File

@ -137,7 +137,7 @@ class ReplyWaiters(object):
LOG.warn('No calling threads waiting for msg_id : %(msg_id)s' LOG.warn('No calling threads waiting for msg_id : %(msg_id)s'
', message : %(data)s', {'msg_id': msg_id, ', message : %(data)s', {'msg_id': msg_id,
'data': message_data}) 'data': message_data})
LOG.warn('_queues: %s' % self._queues) LOG.warn('_queues: %s', self._queues)
else: else:
queue.put(message_data) queue.put(message_data)
@ -150,7 +150,7 @@ class ReplyWaiters(object):
self._queues[msg_id] = queue self._queues[msg_id] = queue
if len(self._queues) > self._wrn_threshold: if len(self._queues) > self._wrn_threshold:
LOG.warn('Number of call queues is greater than warning ' LOG.warn('Number of call queues is greater than warning '
'threshold: %d. There could be a leak.' % 'threshold: %d. There could be a leak.',
self._wrn_threshold) self._wrn_threshold)
self._wrn_threshold *= 2 self._wrn_threshold *= 2
@ -348,7 +348,7 @@ class AMQPDriverBase(base.BaseDriver):
if wait_for_reply: if wait_for_reply:
msg_id = uuid.uuid4().hex msg_id = uuid.uuid4().hex
msg.update({'_msg_id': msg_id}) msg.update({'_msg_id': msg_id})
LOG.debug('MSG_ID is %s' % (msg_id)) LOG.debug('MSG_ID is %s', msg_id)
msg.update({'_reply_q': self._get_reply_q()}) msg.update({'_reply_q': self._get_reply_q()})
rpc_amqp._add_unique_id(msg) rpc_amqp._add_unique_id(msg)

View File

@ -88,7 +88,7 @@ class RPCException(Exception):
# log the issue and the kwargs # log the issue and the kwargs
LOG.exception(_('Exception in string format operation')) LOG.exception(_('Exception in string format operation'))
for name, value in six.iteritems(kwargs): for name, value in six.iteritems(kwargs):
LOG.error("%s: %s" % (name, value)) LOG.error("%s: %s", name, value)
# at least get the core message out if something happened # at least get the core message out if something happened
message = self.msg_fmt message = self.msg_fmt

View File

@ -607,7 +607,7 @@ class Connection(object):
def _connect_error(exc): def _connect_error(exc):
log_info = {'topic': topic, 'err_str': exc} log_info = {'topic': topic, 'err_str': exc}
LOG.error(_("Failed to declare consumer for topic '%(topic)s': " LOG.error(_("Failed to declare consumer for topic '%(topic)s': "
"%(err_str)s") % log_info) "%(err_str)s"), log_info)
def _declare_consumer(): def _declare_consumer():
consumer = consumer_cls(self.conf, self.session, topic, callback) consumer = consumer_cls(self.conf, self.session, topic, callback)
@ -621,10 +621,10 @@ class Connection(object):
def _error_callback(exc): def _error_callback(exc):
if isinstance(exc, qpid_exceptions.Empty): if isinstance(exc, qpid_exceptions.Empty):
LOG.debug('Timed out waiting for RPC response: %s' % exc) LOG.debug('Timed out waiting for RPC response: %s', exc)
raise rpc_common.Timeout() raise rpc_common.Timeout()
else: else:
LOG.exception(_('Failed to consume message from queue: %s') % LOG.exception(_('Failed to consume message from queue: %s'),
exc) exc)
def _consume(): def _consume():
@ -645,7 +645,7 @@ class Connection(object):
def _connect_error(exc): def _connect_error(exc):
log_info = {'topic': topic, 'err_str': exc} log_info = {'topic': topic, 'err_str': exc}
LOG.exception(_("Failed to publish message to topic " LOG.exception(_("Failed to publish message to topic "
"'%(topic)s': %(err_str)s") % log_info) "'%(topic)s': %(err_str)s"), log_info)
def _publisher_send(): def _publisher_send():
publisher = cls(self.conf, self.session, topic=topic, **kwargs) publisher = cls(self.conf, self.session, topic=topic, **kwargs)

View File

@ -541,7 +541,7 @@ class Connection(object):
be handled by the caller. be handled by the caller.
""" """
LOG.info(_("Connecting to AMQP server on " LOG.info(_("Connecting to AMQP server on "
"%(hostname)s:%(port)d") % broker) "%(hostname)s:%(port)d"), broker)
self.connection = kombu.connection.BrokerConnection(**broker) self.connection = kombu.connection.BrokerConnection(**broker)
self.connection_errors = self.connection.connection_errors self.connection_errors = self.connection.connection_errors
self.channel_errors = self.connection.channel_errors self.channel_errors = self.connection.channel_errors
@ -557,7 +557,7 @@ class Connection(object):
self.channel._new_queue('ae.undeliver') self.channel._new_queue('ae.undeliver')
for consumer in self.consumers: for consumer in self.consumers:
consumer.reconnect(self.channel) consumer.reconnect(self.channel)
LOG.info(_('Connected to AMQP server on %(hostname)s:%(port)d') % LOG.info(_('Connected to AMQP server on %(hostname)s:%(port)d'),
broker) broker)
def _disconnect(self): def _disconnect(self):
@ -643,11 +643,11 @@ class Connection(object):
if 'Socket closed' in six.text_type(e): if 'Socket closed' in six.text_type(e):
LOG.error(_('AMQP server %(hostname)s:%(port)d closed' LOG.error(_('AMQP server %(hostname)s:%(port)d closed'
' the connection. Check login credentials:' ' the connection. Check login credentials:'
' %(err_str)s') % log_info) ' %(err_str)s'), log_info)
else: else:
LOG.error(_('AMQP server on %(hostname)s:%(port)d is ' LOG.error(_('AMQP server on %(hostname)s:%(port)d is '
'unreachable: %(err_str)s. Trying again in ' 'unreachable: %(err_str)s. Trying again in '
'%(sleep_time)d seconds.') % log_info) '%(sleep_time)d seconds.'), log_info)
time.sleep(sleep_time) time.sleep(sleep_time)
def ensure(self, error_callback, method, retry=None): def ensure(self, error_callback, method, retry=None):
@ -703,7 +703,7 @@ class Connection(object):
def _connect_error(exc): def _connect_error(exc):
log_info = {'topic': topic, 'err_str': exc} log_info = {'topic': topic, 'err_str': exc}
LOG.error(_("Failed to declare consumer for topic '%(topic)s': " LOG.error(_("Failed to declare consumer for topic '%(topic)s': "
"%(err_str)s") % log_info) "%(err_str)s"), log_info)
def _declare_consumer(): def _declare_consumer():
consumer = consumer_cls(self.conf, self.channel, topic, callback, consumer = consumer_cls(self.conf, self.channel, topic, callback,
@ -718,10 +718,10 @@ class Connection(object):
def _error_callback(exc): def _error_callback(exc):
if isinstance(exc, socket.timeout): if isinstance(exc, socket.timeout):
LOG.debug('Timed out waiting for RPC response: %s' % exc) LOG.debug('Timed out waiting for RPC response: %s', exc)
raise rpc_common.Timeout() raise rpc_common.Timeout()
else: else:
LOG.exception(_('Failed to consume message from queue: %s') % LOG.exception(_('Failed to consume message from queue: %s'),
exc) exc)
self.do_consume = True self.do_consume = True
@ -747,7 +747,7 @@ class Connection(object):
def _error_callback(exc): def _error_callback(exc):
log_info = {'topic': topic, 'err_str': exc} log_info = {'topic': topic, 'err_str': exc}
LOG.exception(_("Failed to publish message to topic " LOG.exception(_("Failed to publish message to topic "
"'%(topic)s': %(err_str)s") % log_info) "'%(topic)s': %(err_str)s"), log_info)
def _publish(): def _publish():
publisher = cls(self.conf, self.channel, topic=topic, **kwargs) publisher = cls(self.conf, self.channel, topic=topic, **kwargs)

View File

@ -286,7 +286,7 @@ class InternalContext(object):
# ignore these since they are just from shutdowns # ignore these since they are just from shutdowns
pass pass
except rpc_common.ClientException as e: except rpc_common.ClientException as e:
LOG.debug("Expected exception during message handling (%s)" % LOG.debug("Expected exception during message handling (%s)",
e._exc_info[1]) e._exc_info[1])
return {'exc': return {'exc':
rpc_common.serialize_remote_exception(e._exc_info, rpc_common.serialize_remote_exception(e._exc_info,
@ -488,7 +488,7 @@ class ZmqProxy(ZmqBaseReactor):
self.topic_proxy[topic].put_nowait(data) self.topic_proxy[topic].put_nowait(data)
except eventlet.queue.Full: except eventlet.queue.Full:
LOG.error(_("Local per-topic backlog buffer full for topic " LOG.error(_("Local per-topic backlog buffer full for topic "
"%(topic)s. Dropping message.") % {'topic': topic}) "%s. Dropping message."), topic)
def consume_in_thread(self): def consume_in_thread(self):
"""Runs the ZmqProxy service.""" """Runs the ZmqProxy service."""
@ -504,7 +504,7 @@ class ZmqProxy(ZmqBaseReactor):
if not os.path.isdir(ipc_dir): if not os.path.isdir(ipc_dir):
with excutils.save_and_reraise_exception(): with excutils.save_and_reraise_exception():
LOG.error(_("Required IPC directory does not exist at" LOG.error(_("Required IPC directory does not exist at"
" %s") % (ipc_dir, )) " %s"), ipc_dir)
try: try:
self.register(consumption_proxy, self.register(consumption_proxy,
consume_in, consume_in,
@ -513,7 +513,7 @@ class ZmqProxy(ZmqBaseReactor):
if os.access(ipc_dir, os.X_OK): if os.access(ipc_dir, os.X_OK):
with excutils.save_and_reraise_exception(): with excutils.save_and_reraise_exception():
LOG.error(_("Permission denied to IPC directory at" LOG.error(_("Permission denied to IPC directory at"
" %s") % (ipc_dir, )) " %s"), ipc_dir)
with excutils.save_and_reraise_exception(): with excutils.save_and_reraise_exception():
LOG.error(_("Could not create ZeroMQ receiver daemon. " LOG.error(_("Could not create ZeroMQ receiver daemon. "
"Socket may already be in use.")) "Socket may already be in use."))
@ -728,7 +728,7 @@ def _multi_send(method, context, topic, msg, timeout=None,
Dispatches to the matchmaker and sends message to all relevant hosts. Dispatches to the matchmaker and sends message to all relevant hosts.
""" """
conf = CONF conf = CONF
LOG.debug("%(msg)s" % {'msg': ' '.join(map(pformat, (topic, msg)))}) LOG.debug(' '.join(map(pformat, (topic, msg))))
queues = _get_matchmaker().queues(topic) queues = _get_matchmaker().queues(topic)
LOG.debug("Sending message(s) to: %s", queues) LOG.debug("Sending message(s) to: %s", queues)

View File

@ -74,7 +74,7 @@ class RoundRobinRingExchange(RingExchange):
if not self._ring_has(key): if not self._ring_has(key):
LOG.warn( LOG.warn(
_("No key defining hosts for topic '%s', " _("No key defining hosts for topic '%s', "
"see ringfile") % (key, ) "see ringfile"), key
) )
return [] return []
host = next(self.ring0[key]) host = next(self.ring0[key])
@ -92,7 +92,7 @@ class FanoutRingExchange(RingExchange):
if not self._ring_has(nkey): if not self._ring_has(nkey):
LOG.warn( LOG.warn(
_("No key defining hosts for topic '%s', " _("No key defining hosts for topic '%s', "
"see ringfile") % (nkey, ) "see ringfile"), nkey
) )
return [] return []
return map(lambda x: (key + '.' + x, x), self.ring[nkey]) return map(lambda x: (key + '.' + x, x), self.ring[nkey])

View File

@ -70,17 +70,15 @@ class RoutingDriver(notifier._Driver):
for group in self.routing_groups.values(): for group in self.routing_groups.values():
self.used_drivers.update(group.keys()) self.used_drivers.update(group.keys())
LOG.debug('loading notifiers from %(namespace)s' % LOG.debug('loading notifiers from %s', self.NOTIFIER_PLUGIN_NAMESPACE)
{'namespace': self.NOTIFIER_PLUGIN_NAMESPACE})
self.plugin_manager = dispatch.DispatchExtensionManager( self.plugin_manager = dispatch.DispatchExtensionManager(
namespace=self.NOTIFIER_PLUGIN_NAMESPACE, namespace=self.NOTIFIER_PLUGIN_NAMESPACE,
check_func=self._should_load_plugin, check_func=self._should_load_plugin,
invoke_on_load=True, invoke_on_load=True,
invoke_args=None) invoke_args=None)
if not list(self.plugin_manager): if not list(self.plugin_manager):
LOG.warning(_("Failed to load any notifiers " LOG.warning(_("Failed to load any notifiers for %s"),
"for %(namespace)s") % self.NOTIFIER_PLUGIN_NAMESPACE)
{'namespace': self.NOTIFIER_PLUGIN_NAMESPACE})
def _get_drivers_for_message(self, group, event_type, priority): def _get_drivers_for_message(self, group, event_type, priority):
"""Which drivers should be called for this event_type """Which drivers should be called for this event_type
@ -116,7 +114,7 @@ class RoutingDriver(notifier._Driver):
"""Emit the notification. """Emit the notification.
""" """
# accepted_drivers is passed in as a result of the map() function # accepted_drivers is passed in as a result of the map() function
LOG.info(_("Routing '%(event)s' notification to '%(driver)s' driver") % LOG.info(_("Routing '%(event)s' notification to '%(driver)s' driver"),
{'event': message.get('event_type'), 'driver': ext.name}) {'event': message.get('event_type'), 'driver': ext.name})
ext.obj.notify(context, message, priority, retry) ext.obj.notify(context, message, priority, retry)

View File

@ -108,7 +108,7 @@ class NotificationDispatcher(object):
} }
priority = message.get('priority', '').lower() priority = message.get('priority', '').lower()
if priority not in PRIORITIES: if priority not in PRIORITIES:
LOG.warning('Unknown priority "%s"' % priority) LOG.warning('Unknown priority "%s"', priority)
return return
payload = self.serializer.deserialize_entity(ctxt, payload = self.serializer.deserialize_entity(ctxt,

View File

@ -133,7 +133,7 @@ class RPCDispatcher(object):
incoming.reply(self._dispatch(incoming.ctxt, incoming.reply(self._dispatch(incoming.ctxt,
incoming.message)) incoming.message))
except ExpectedException as e: except ExpectedException as e:
LOG.debug(u'Expected exception during message handling (%s)' % LOG.debug(u'Expected exception during message handling (%s)',
e.exc_info[1]) e.exc_info[1])
incoming.reply(failure=e.exc_info, log_failure=False) incoming.reply(failure=e.exc_info, log_failure=False)
except Exception as e: except Exception as e:

View File

@ -145,4 +145,5 @@ class TestDispatcher(test_utils.BaseTestCase):
[mock.Mock()], [mock.Mock()], None, allow_requeue=True) [mock.Mock()], [mock.Mock()], None, allow_requeue=True)
with dispatcher(mock.Mock(ctxt={}, message=msg)) as callback: with dispatcher(mock.Mock(ctxt={}, message=msg)) as callback:
callback() callback()
mylog.warning.assert_called_once_with('Unknown priority "what???"') mylog.warning.assert_called_once_with('Unknown priority "%s"',
'what???')