Skip to content

logging-warn (G010)#

Derived from the flake8-logging-format linter.

Fix is always available.

What it does#

Checks for uses of logging.warn and logging.Logger.warn.

Why is this bad?#

logging.warn and logging.Logger.warn are deprecated in favor of logging.warning and logging.Logger.warning, which are functionally equivalent.

Known problems#

This rule detects uses of the logging module via a heuristic. Specifically, it matches against:

  • Uses of the logging module itself (e.g., import logging;
  • Uses of flask.current_app.logger (e.g., from flask import current_app;
  • Objects whose name starts with log or ends with logger or logging, when used in the same file in which they are defined (e.g., logger = logging.getLogger();
  • Imported objects marked as loggers via the logger-objects setting, which can be used to enforce these rules against shared logger objects (e.g., from module import logger;, when logger-objects is set to ["module.logger"]).


import logging

logging.warn("Something happened")

Use instead:

import logging

logging.warning("Something happened")