python - Flask 不打印 sys.stdout.write 消息

标签 python logging flask

我正在从这个 link 运行 flask 应用程序使用命令 python app.py

使用 sys.stdout.write 打印的更多日志未打印在控制台上。但是,使用 logging.StreamHandler 可以将消息重定向到标准输出。

有效,

import logging
import logging.handlers
logger = logging.getLogger('kumologging')
logger.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
logger.addHandler(ch)
logger.info("hey, i am from logger obj")

没用

import sys
sys.stdout.write("hey, i am from stdout")

flask 是否覆盖 sys.stdout 文件描述符,将日志重定向到其他地方?

最佳答案

afaik flasks app.run() 使用 gunicorn 网络包

我相信 gunicorn 是真正重定向你的输出的那个

输出可能在 /var/log/gunicorn/error.log 中(不确定它在 Windows 上的位置:/)

或者它可能的 sys.stdout 只是没有刷新它的缓冲区, 写入后尝试 sys.stdout.flush()

关于python - Flask 不打印 sys.stdout.write 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31326236/

相关文章:

python - 计算 numpy 数组中的不同列

Python Generator - 不应该用它做什么

Tomcat6 : What is the easiest way of configuring java. util.logging?

python - 使用 Nginx+uWSGI 在 Flask 中提供动态媒体

python - 从 flask 中访问 mysql

python - 使用工作台连接到 Django 中的 MySQL 数据库

Python PIL 剪掉文字,使其变成透明的 PNG

python - 在 Pyramid 应用程序中记录到 SQLAlchemy 记录器

ios - 如果我将我的 sencha-app 编译为 ios 模拟器,是否可以读出 console.logs?

python - Flask 应用单元测试期间无法创建测试客户端