在python中用print是否打印不出日志message?

我用的是scrapy+python

在终端调试,可以看见print打印出的内容。但是在crontab定时启动,在日志文件中看不出print出的东西。

是不是必须用logging?

阅读 7.3k
3 个回答

调试的时候不要用print

  • print的内容是给用户看的,logging的内容是给开发者调试的

  • print取消打印还要一行一行删除,logging可以用一句话支持禁用日志

  • logging可以标准输出到终端,也可以输出在文件,并且可以精确的调节日志级别

print 的输出到终端 ,logging可以输出到终端也可以输出到日志 。你用crontab 的时候将输出重定向到文件就可以看到print的东西了。

logging是最好的选择,如果只是想用print的话,需要把标准输出重定向到文件:

import sys
sys.stdout = open("sample.log", 'w')
print("hello world!")
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题