31 августа 2022 Python


При определении LOGGING.formatters.[name].format можно использовать следующие переменные

  • args=()
  • created=1661945167.5855541
  • exc_info=None
  • exc_text=None
  • filename=views.py
  • funcName=get_context_data
  • levelname=INFO
  • levelno=20
  • lineno=585
  • module=views
  • msecs=585.5541229248047
  • msg=Rubricator
  • name=expand_settings
  • pathname=./expand_settings/views.py
  • process=2078012
  • processName=MainProcess
  • relativeCreated=8258.57162475586
  • stack_info=None
  • thread=140543658326976
  • threadName=uWSGIWorker4Core0

Из этих переменны можно составить форматированную строку

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '{levelname} [{asctime}] {name}:{filename} {lineno} {message}',
        },
    }
}

Разобраться можно в файле /usr/lib/python3.10/logging/__init__.py:1100