Django logging with watchtower получил неожиданный аргумент ключевого слова в обработчике

Я пытаюсь реализовать логирование django с AWS CloudWatch, после создания пользователя и ввода правильных полей, следуя руководствам, разбросанным в сети, у меня все еще есть ошибка:

ValueError: Unable to configure handler 'watchtower': __init__() got an unexpected keyword argument 'boto3_session'

Вот мой файл настроек (logging config):

boto3_connect_session = Session(
    aws_access_key_id=AWS_ACCESS_KEY_ID,
    aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
    region_name=AWS_REGION_NAME
)


LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'aws': {
            'format': u"%(asctime)s [%(levelname)-8s] %(message)s [%(pathname)s:%(lineno)d]",
            'datefmt': "%Y-%m-%d %H:%M:%S"
        },
        'simple': {
            'format': '[%(asctime)s %(module)s] %(levelname)s: %(message)s'
        },

    },
    'handlers': {
        'watchtower': {
            'level': 'DEBUG',
            'class': 'watchtower.CloudWatchLogHandler',
            'boto3_session': boto3_connect_session,
#                     'log_group': AWS_LOG_GROUP,
#                     'stream_name': AWS_LOG_STREAM,
            'formatter': 'aws',
        },
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': '/tmp/logger.log',
            'formatter':'simple'
        },

    },
    'loggers': {
        AWS_LOGGER_NAME: {
            'level': 'DEBUG',
            'handlers': ['watchtower'],
            'propagate': False,
        },
        'local': {
            'level': 'DEBUG',
            'handlers': ['file'],
            'propagate': False,
        },

    },
}

полное сообщение об ошибке:

Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "/usr/lib64/python3.6/logging/config.py", line 565, in configure
    handler = self.configure_handler(handlers[name])
  File "/usr/lib64/python3.6/logging/config.py", line 738, in configure_handler
    result = factory(**kwargs)
  File "/usr/local/lib/python3.6/site-packages/watchtower/__init__.py", line 203, in __init__
    super().__init__(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'boto3_session'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib64/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.6/site-packages/django/utils/autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run
    autoreload.raise_last_exception()
  File "/usr/local/lib/python3.6/site-packages/django/utils/autoreload.py", line 77, in raise_last_exception
    raise _exception[1]
  File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 337, in execute
    autoreload.check_errors(django.setup)()
  File "/usr/local/lib/python3.6/site-packages/django/utils/autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/django/__init__.py", line 19, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "/usr/local/lib/python3.6/site-packages/django/utils/log.py", line 76, in configure_logging
    logging_config_func(logging_settings)
  File "/usr/lib64/python3.6/logging/config.py", line 802, in dictConfig
    dictConfigClass(config).configure()
  File "/usr/lib64/python3.6/logging/config.py", line 573, in configure
    '%r: %s' % (name, e))
ValueError: Unable to configure handler 'watchtower': __init__() got an unexpected keyword argument 'boto3_session'

Версии сторожевой башни:

Name: watchtower
Version: 3.0.0

boto3 версия:

Name: boto3
Version: 1.13.3

Я не могу понять, где проблема, большинство руководств используют эту систему.

Заранее спасибо.

В официальном doc для watchtower с Django, Он не упоминает boto3_session в

'watchtower': {
            'level': 'DEBUG',
            'class': 'watchtower.CloudWatchLogHandler',
            'boto3_session': boto3_connect_session,
#                     'log_group': AWS_LOG_GROUP,
#                     'stream_name': AWS_LOG_STREAM,
            'formatter': 'aws',
        },

В документе есть boto3_client вместо boto3_session

Можете ли вы перепроверить это?

Вернуться на верх