簡體   English   中英

在Python中,將異常記錄到文件的最佳方法是什么?

[英]In Python, what's the best way to log exceptions to a file?

假設我捕獲異常,我想記錄它。 我怎么做? 我在哪里指定記錄到哪里?

virhilo tmp $ cat l.py 
import logging

logging.basicConfig(filename='exceptions.log', level=logging.DEBUG)

try:
    1/0
except ZeroDivisionError as e:
    logging.debug(e)
virhilo tmp $ python2 l.py 
virhilo tmp $ cat exceptions.log 
DEBUG:root:integer division or modulo by zero
virhilo tmp $ 

而不是OD e你可以使用traceback.print_exc()來獲得更詳細的報告

您可以使用traceback類。

像這樣:traceback.print_exc(file = open(“errlog.txt”,“a”))

這是一個例子(從這里 ):

#!/usr/bin/env python
import sys, traceback

def main():
    l=[1,2,3,4]
    print l[4]

if __name__=="__main__":
    try:
        main()
    except:
        print "Trigger Exception, traceback info forward to log file."
        traceback.print_exc(file=open("errlog.txt","a"))
        sys.exit(1)

或者,如果要在Django中記錄異常,請查看此主題。

如何在django站點上記錄服務器錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM