python - Docker-compose flask 应用程序不打印“打印”的输出
问题描述
我有一个烧瓶应用程序,它有一条路线,没有任何复杂的事情发生,在 docker 容器中运行。我一辈子都无法在日志中显示打印语句 ( docker-compose logs -f <containername>
)。到目前为止,我已经尝试了各种答案,这些答案据说已经为其他人解决了这个问题,包括:
- 打电话
print("test", flush=True)
- 设置
PYTHONUNBUFFERED=1
和验证它是在实际容器中设置的echo
- 环境
PYTHONUNBUFFERED=0
-u
使用标志运行 python- 使用日志模块(logger.warning、logger.info 等)
到目前为止,没有任何效果。烧瓶应用程序启动非常好,但没有显示我的打印语句的输出。我通过添加随机语法错误并观察应用程序本身来检查我正在编辑正确的文件。我正在使用 python 3.8 和 docker-compose 2
解决方案
尝试这个:
import sys
print('It is working',file=sys.stderr)
推荐阅读
- laravel - Laravel - 如何使用 external_user_id 发送 OneSignal 通知
- bash - Bash 脚本无法从列表中下载源包
- android - 从 Fabric 迁移到 FirebaseCrashlytics 后测试失败
- java - 如何检查两个节点是否是java中二叉树中的表亲?
- ruby - 如何在创建 Google 活动后收到的电子邮件通知中删除 Google Meet?
- php - 字符串数组计数并合并为一
- html - CSS - 如何根据内容调整 div 的高度?
- jenkins - 通过反向代理(Netscaler)访问时无法在 Jenkins 中添加凭据
- git - 从批处理文件运行 git 命令时“从 commit-graph.lock 重命名为 commit-graph failed”
- c++ - 模板类的继承