首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

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

  •  
  •   wangtao · 2013-06-27 16:13:44 +08:00 · 4213 次点击
    这是一个创建于 2158 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近使用 crontab 定时运行一个 Python 脚本,然后想把脚本产生的错误信息或者打印的信息保存到一个文本里。

    不知道有什么办法可以做到没?
    17 回复  |  直到 1970-01-01 08:00:00 +08:00
        1
    cxh116   2013-06-27 16:16:28 +08:00   ♥ 3
    python script.py > out.log 2>&1

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

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


    有了关键字就好 Google 了。。

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

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

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


    这是logging+nohup日志效果
        16
    fansgentle   2013-07-01 11:53:58 +08:00
    @keakon 现在在知乎了?年前应该不是吧~~
        17
    keakon   2013-07-01 12:49:44 +08:00
    @fansgentle 去了 3 个月了=。=
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1552 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 17:02 · PVG 01:02 · LAX 10:02 · JFK 13:02
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1