How to fix pylint logging-not-lazy?

Valeriy Solovyov picture Valeriy Solovyov · Mar 19, 2015 · Viewed 42.7k times · Source

I am using prospector to examine my code. Pylint returned a logging-not-lazy warning about my debug message.

Line: 31
  pylint: logging-not-lazy / Specify string format arguments as logging function parameters (col 16)   Line: 42
  pylint: logging-not-lazy / Specify string format arguments as logging function parameters (col 12)

My code is:

logging.debug("detect mimetypes faild because %s" % e )

How do I fix logging-not-lazy in pylint?

Answer

Zada Zorg picture Zada Zorg · Mar 31, 2015

This means, that you should rewrite your code as:

logging.debug("detect mimetypes faild because %s", e)

According to https://docs.python.org/2/library/logging.html

Logger.debug(msg, *args, **kwargs)

... Logs a message with level DEBUG on this logger. The msg is the message format string, and the args are the arguments which are merged into msg using the string formatting operator. (Note that this means that you can use keywords in the format string, together with a single dictionary argument.) ...