加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 使用Apache运行Flask时打印的位置是什么?

发布时间:2020-12-16 23:01:53 所属栏目:Python 来源:网络整理
导读:我刚刚将我使用Flask构建的第一个网站部署到生产服务器.我使用logging.handlers.RotatingFileHandler启用日志记录到/log/myapp.log,我可以使用它来记录消息,例如: current_app.logger.error('this is a massive error') 这很好用.它让我对一些代码片段感到
我刚刚将我使用Flask构建的第一个网站部署到生产服务器.我使用logging.handlers.RotatingFileHandler启用日志记录到/log/myapp.log,我可以使用它来记录消息,例如:
current_app.logger.error('this is a massive error')

这很好用.它让我对一些代码片段感到疑惑,其中包含例如我在调试时使用的print’some info here’.这些打印输出在哪里?进入void / dev / null或其他地方?有可能以某种方式抓住他们吗?

欢迎所有提示!

解决方法

使用print输出的所有内容都转到标准输出,即Unix服务器上的/ dev / stdout(默认情况下).由于apache作为服务运行,您可能永远不会看到这些输出.

解决此问题的一种方法是将脚本的标准输出重定向到某些文件:

>>> import sys
>>> sys.stdout = open('output.logs','w')
>>> print('Hello World!') # Nothing appears bellow
>>> sys.stdout = sys.__stdout__ # Reset to the standard output
>>> open('output.logs','r').read()
'Hello World!n'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读