|
|
- """
- This module is kept to provide a helpful warning about its removal.
- """
- import logging
- import warnings
-
- from twisted.python.failure import Failure
-
- from scrapy.exceptions import ScrapyDeprecationWarning
- from scrapy.utils.log import failure_to_exc_info
-
- logger = logging.getLogger(__name__)
-
- warnings.warn("Module `scrapy.log` has been deprecated, Scrapy now relies on "
- "the builtin Python library for logging. Read the updated "
- "logging entry in the documentation to learn more.",
- ScrapyDeprecationWarning, stacklevel=2)
-
-
- # Imports and level_names variable kept for backwards-compatibility
-
- DEBUG = logging.DEBUG
- INFO = logging.INFO
- WARNING = logging.WARNING
- ERROR = logging.ERROR
- CRITICAL = logging.CRITICAL
- SILENT = CRITICAL + 1
-
- level_names = {
- logging.DEBUG: "DEBUG",
- logging.INFO: "INFO",
- logging.WARNING: "WARNING",
- logging.ERROR: "ERROR",
- logging.CRITICAL: "CRITICAL",
- SILENT: "SILENT",
- }
-
-
- def msg(message=None, _level=logging.INFO, **kw):
- warnings.warn('log.msg has been deprecated, create a python logger and '
- 'log through it instead',
- ScrapyDeprecationWarning, stacklevel=2)
-
- level = kw.pop('level', _level)
- message = kw.pop('format', message)
- # NOTE: logger.log doesn't handle well passing empty dictionaries with format
- # arguments because of some weird use-case:
- # https://hg.python.org/cpython/file/648dcafa7e5f/Lib/logging/__init__.py#l269
- logger.log(level, message, *[kw] if kw else [])
-
-
- def err(_stuff=None, _why=None, **kw):
- warnings.warn('log.err has been deprecated, create a python logger and '
- 'use its error method instead',
- ScrapyDeprecationWarning, stacklevel=2)
-
- level = kw.pop('level', logging.ERROR)
- failure = kw.pop('failure', _stuff) or Failure()
- message = kw.pop('why', _why) or failure.value
- logger.log(level, message, *[kw] if kw else [], exc_info=failure_to_exc_info(failure))
|