AWS Beanstalk 上的 Python。如何对自定义日志进行快照?
Posted
技术标签:
【中文标题】AWS Beanstalk 上的 Python。如何对自定义日志进行快照?【英文标题】:Python on the AWS Beanstalk. How to snapshot custom logs? 【发布时间】:2013-02-08 21:28:16 【问题描述】:我正在开发适用于 aws beanstalk 环境的 python 应用程序。对于错误处理和调试,建议我将日志写入目录 /var/logs/ 上的自定义 lof 文件。
我应该怎么做才能从 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)以上是关于AWS Beanstalk 上的 Python。如何对自定义日志进行快照?的主要内容,如果未能解决你的问题,请参考以下文章
将 Mac 上的 Python 从 2.7 升级到 3.6(或最新),用于弹性 beanstalk 客户端 AWS
AWS Elastic Beanstalk - python 的 nginx 配置(AL2 上的 3.7)flask 应用程序
Python3 + Nginx:将 HTTP 流量重定向到 AWS Elastic Beanstalk 上的 HTTPS
部署在 Elastic Beanstalk 上的 Python Flask 服务器出现 AWS 内部服务错误,日志说 SECRET_KEY 从未设置?