Search code examples
pythonpylint

How to fix pylint logging-not-lazy?


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?


Solution

  • 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.) ...