.. _logging-format-interpolation:

logging-format-interpolation / W1202
====================================

**Message emitted:**

Use %s formatting in logging functions

**Description:**

*Used when a logging statement has a call form of "logging.<logging method>(format_string.format(format_args...))". Use another type of string formatting instead. You can use % formatting but leave interpolation to the logging function by passing the parameters as arguments. If logging-fstring-interpolation is disabled then you can use fstring formatting. If logging-not-lazy is disabled then you can use % formatting as normal.*

**Problematic code:**

.. literalinclude:: /data/messages/l/logging-format-interpolation/bad.py
   :language: python

**Correct code:**

.. literalinclude:: /data/messages/l/logging-format-interpolation/good.py
   :language: python

**Additional details:**

Another reasonable option is to use f-string. If you want to do that, you need to enable
``logging-format-interpolation`` and disable ``logging-fstring-interpolation``.

**Related links:**

- `logging variable data <https://docs.python.org/3/howto/logging.html#logging-variable-data>`_
- `rational <https://stackoverflow.com/questions/34619790>`_

Created by the `logging <https://github.com/PyCQA/pylint/blob/main/pylint/checkers/logging.py>`__ checker.