如何把 Python 运行时产生的错误记录到文本里。

2013-06-27 16:13:44 +08:00
 wangtao
最近使用 crontab 定时运行一个 Python 脚本,然后想把脚本产生的错误信息或者打印的信息保存到一个文本里。

不知道有什么办法可以做到没?
5406 次点击
所在节点    Python
17 条回复
cxh116
2013-06-27 16:16:28 +08:00
python script.py > out.log 2>&1

http://linux.chinaitlab.com/command/895416.html

不知道这样符合你的要求不?
wangtao
2013-06-27 16:30:57 +08:00
@cxh116 谢谢,要的就是这种赶脚。
loading
2013-06-27 20:59:16 +08:00
@cxh116 赞附属说明,互联网就需要这样的热情。
keakon
2013-06-27 21:07:18 +08:00
wangtao
2013-06-30 00:58:40 +08:00
@keakon 高端洋气屌酷拽。。
akira
2013-06-30 01:04:22 +08:00
@keakon 多进程怎么破,logging好像不支持?
Livid
2013-06-30 01:30:33 +08:00
swulling
2013-06-30 01:49:34 +08:00
mengzhuo
2013-06-30 10:25:49 +08:00
@akira logging就是线程安全的
keakon
2013-06-30 13:38:38 +08:00
@akira 原文有提到,发给一个进程即可,例如 supervisor。
知乎是通过 Redis 来接收和处理日志,并将其 publish 出去,使订阅者可以实时监测感兴趣的日志。
wangtao
2013-07-01 09:35:12 +08:00
@cxh116 这个好像是每次执行都会覆盖上一次的内容。。有什么办法追加内容到日志里吗?
wangtao
2013-07-01 09:46:54 +08:00
把 > 改为 >> 就是追加内容了。


有了关键字就好 Google 了。。

http://leohot.blog.163.com/blog/static/1348656022012729113658473/
ma6174
2013-07-01 10:13:42 +08:00
直接cat就可以吧,终端和日志文件都有了
python script.py | cat out.log

nohup也可以的,错误信息记录到nohup.out文件里面

nohup python script.py
cj1324
2013-07-01 10:17:32 +08:00
sys.stderr = open('/var/xxx.log', 'w')
print >>sys.stderr, 'hello exception'
ma6174
2013-07-01 10:31:28 +08:00


这是logging+nohup日志效果
fansgentle
2013-07-01 11:53:58 +08:00
@keakon 现在在知乎了?年前应该不是吧~~
keakon
2013-07-01 12:49:44 +08:00
@fansgentle 去了 3 个月了=。=

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/73836

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX