【问题标题】:Python on the AWS Beanstalk. How to snapshot custom logs?AWS Beanstalk 上的 Python。如何对自定义日志进行快照?
【发布时间】:2013-02-08 21:28:16
【问题描述】:

我正在开发适用于 aws beanstalk 环境的 python 应用程序。对于错误处理和调试,建议我将日志写入目录 /var/logs/ 上的自定义 lof 文件。

我应该怎么做才能从 Elastic beanstalk 管理控制台获得能力快照日志?

【问题讨论】:

    标签: python logging amazon-elastic-beanstalk


    【解决方案1】:

    扩展 Vadim911(和我自己的评论),我使用 .ebextensions 中的配置文件解决了这个问题。这是python代码:

    import logging
    logging.basicConfig(filename='/opt/python/log/my.log', level=logging.DEBUG)
    

    这是 .ebextensions 配置文件代码:

    files:
      "/opt/python/log/my.log" :
       mode: "000666"
       owner: ec2-user
       group: ec2-user
       content: |
           # Askbot log file
    

    此文件的内容(以及其他日志文件)可使用 AWS elastic beanstalk 控制台上的日志快照功能获得。

    【讨论】:

    • 是的,但不需要在.ebextensions 中创建文件,因为logging 会在文件处理程序首次初始化时为您执行此操作。如果遇到PermissionError,请尝试按照here 的说明删除container_commands 末尾的日志文件。
    【解决方案2】:

    如果您需要能够从 Beanstalk 管理控制台快照日志文件,您只需将日志文件写入“/opt/python/log/”文件夹即可。 Elastic beanstalk 脚本使用此文件夹进行日志拖尾。

    【讨论】:

    • 当我尝试这样做时,我得到了 Permission denied。
    • 查克你到底尝试了什么?
    • logging.basicConfig(filename='/opt/python/log/my_log.log',level=logging.DEBUG)
    猜你喜欢
    • 1970-01-01
    • 2015-02-17
    • 2017-10-18
    • 2021-01-27
    • 2015-12-14
    • 2023-03-12
    • 1970-01-01
    • 2019-02-11
    • 2015-01-14
    相关资源
    最近更新 更多