【问题标题】:Django Watchtower connection refused when running server localhost运行服务器 localhost 时,Django Watchtower 连接被拒绝
【发布时间】:2021-12-16 06:36:24
【问题描述】:

我正在使用 Django watchtower 将事件记录到 Cloudwatch,并在我的设置文件中配置了我的日志记录。

development.py

boto3_session = Session(
    aws_access_key_id=AWS_ACCESS_KEY_ID,
    aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
    region_name=AWS_REGION)


LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    # 'root': {
    #     'level': 'INFO',
    #     'handlers': ['console'],
    # },
    'formatters': {
        'simple': {
            'format': "%(asctime)s [%(levelname)-8s] %(message)s",
            'datefmt': "%Y-%m-%d %H:%M:%S"
        },
        'aws': {
            # you can add specific format for aws here
            'format': "%(asctime)s [%(levelname)-8s] %(message)s",
            'datefmt': "%Y-%m-%d %H:%M:%S"
        },
    },
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
        'watchtower': {
            'level': 'INFO',
            'class': 'watchtower.CloudWatchLogHandler',
            'boto3_session': boto3_session,
            'log_group': 'StagingBeagleApi',
            'stream_name': 'ApplicationLogStream',
            'formatter': 'aws',
        },
    },
    'loggers': {
        'django': {
            'level': 'INFO',
            'handlers': ['watchtower'],
            'propagate': True,
        },
    },
}

但是,当我运行我的服务器时,我在控制台中没有收到任何错误,但我的网站无法再通过 locahost:3000 访问,我收到了 ERR_CONNECTION_REFUSED

请帮忙!

更新

如果我用watchtower 替换django 键,它就可以工作。但是,我想将所有 Django 日志放到 Cloudwatch 中,并且我按照记录器键为 django 的文档进行操作。

【问题讨论】:

  • aws 用户是否有权在 cloudwatch 上写入日志?另外,你为什么在日志配置中注释掉root?包含两个处理程序的根配置并进行测试。
  • 是的,它具有写入 CloudWatch 的正确权限。我在有和没有 root 的情况下进行了测试,但仍然无法正常工作(因为在 localhost 中仍然无法访问)
  • 基于here,瞭望塔不需要boto3_session,而是需要boto3_client
  • 这似乎不是问题,我有其他处理程序有boto3_session。该问题似乎仅在 django 记录器的开发中发生。
  • 遇到同样的问题。

标签: python django watchtower


【解决方案1】:

您可以在数组 ['watchtower'] 旁边传递另一个值,这可能会解决问题。您可以查看以下代码作为示例。

'loggers': { 'django': { 'level': 'INFO', 'handlers': ['watchtower','django'], 'propagate': True, }, },

【讨论】:

  • 如何解决问题?
猜你喜欢
  • 2016-05-29
  • 2018-01-25
  • 2019-06-02
  • 2021-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-18
相关资源
最近更新 更多