V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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
wangtao
V2EX  ›  Python

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

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

    不知道有什么办法可以做到没?
    17 条回复    1970-01-01 08:00:00 +08:00
    cxh116
        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

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


    有了关键字就好 Google 了。。

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

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

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


    这是logging+nohup日志效果
    fansgentle
        16
    fansgentle  
       2013-07-01 11:53:58 +08:00
    @keakon 现在在知乎了?年前应该不是吧~~
    keakon
        17
    keakon  
       2013-07-01 12:49:44 +08:00
    @fansgentle 去了 3 个月了=。=
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   976 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:52 · PVG 03:52 · LAX 11:52 · JFK 14:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.