With logger you can provide the string substitutions as arguments, and should in most cases.  So it becomes:

logger.debug(<message>, <sub1>, <sub2>, ...)