[python] tornado.log将输出定向到stdout

原创 2015年07月08日 19:51:44

使用 tornado (python 的一个 web 框架)的自带log时遇到一个问题,即tornado.log.logging.info时,默认是将info(或者debug, error等Level)信息打印到stderr而非stdout,这样会与其它真正的error信息混杂在一起,特别当后台日志输出频繁时,给问题排查带来麻烦。

经过查看tornado源码(Linux x86_64 python2.7, 路径 /usr/lib64/python2.7/site-packages/tornado/log.py),发现其内部亦是直接使用python自带logging模块(import logging),因此tornado.log.logging即python的logging. 找到其中logger的StreamHandler, 查看python 的官方文档,可看到其中说明:


所以直接将 /usr/lib64/python2.7/site-packages/tornado/log.py 源码里的 channel = logging.StreamHandler() 改成 channel = logging.StreamHandler(sys.__stdout__),就可以将我们自己手动打印的后台信息输出到stdout,这样当开启daemon参数运行程序时,就可以将stdout重定向到文件,将我们自己的log信息与其它真正的error信息区分开来,不再会搅在一起,目的达到了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Python日志输出——logging模块

1. logging介绍         Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,H...

Python Web框架Tornado运行和部署

本文实例为大家分享了Python Web框架Tornado运行和部署的详细内容,供大家参考,具体内容如下 一、运行和部署 因为Tornado内置了自己的HTTPServer,运行和部署它与其他Pyt...

tornado的简单使用

功能描述实现一个类似与令牌桶的服务,包含一个定时任务,生成令牌,对外提供一个接口用于获取令牌,每获取一次,桶内令牌相应减少实现方案采用redis+tornado的方式实现,代码很简单,不过这里写这个主...

Python 标准输出 sys.stdout 重定向

转自:http://www.cnblogs.com/turtle-fly/p/3280519.html 本文环境:Python 2.7  使用 print obj 而非 print(obj)  ...

Python 标准输出 sys.stdout 重定向

一些背景 sys.stdout 与 print 当我们在 Python 中打印对象调用 print obj 时候,事实上是调用了 sys.stdout.write(obj+'\n') ...

python的sys.stdout重定向

本文环境:Python 2.7 使用 print obj 而非 print(obj) 一些背景 sys.stdout 与 print 当我们在 Python 中打印对象调用 print obj ...

python的sys.stdout重定向

本文环境:Python 2.7 使用 print obj 而非 print(obj) 背景 (1)sys.stdout 与 print 当我们在 Python 中打印对象调用 print obj...
  • MTbaby
  • MTbaby
  • 2016-11-14 15:06
  • 2479

Python的sys.stdout、sys.stdin重定向

Python的sys.stdout、sys.stdin重定向 转自:http://www.cnblogs.com/turtle-fly/p/3280519.html 本文环境:Py...

python3用pillow生成验证码,tornado中输出图片

验证码生成类:from PIL import Image,ImageDraw, ImageFont, ImageFilter import randomclass VerifyCode(): d...

Windows管道(Pipe)重定向stdout,stderr,stdin

stdin是标准输入,stdout是标准输出,stderr是标准错误输出。 大多数的命令行程序从stdin输入,输出到stdout或stderr,有时我们需要重定向stdout,stderr,std...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)