簡體   English   中英

如何在python腳本中記錄錯誤(過程)

[英]How to log errors in python script (process)

我需要在以進程運行的python腳本中記錄錯誤。

我當前的代碼:

import ips
import sys
import time
import logging
import os
import string
import json
import multiprocessing
import MySQLdb as mdb

from daemon import Daemon


logging.basicConfig(format = u'%(levelname)-8s [%(asctime)s] %(message)s', level = logging.INFO, filename = u'/var/log/info.log')


class MyDaemon(Daemon):
    def run(self):        
        print 'the script was run'
        logging.info("the script was run")

        while True:

            [My code Here]

            time.sleep(10)


if __name__ == "__main__":
    daemon = MyDaemon('/var/run/pid.pid')
    if len(sys.argv) > 1:
        if 'start' == sys.argv[1]:
            daemon.start()
        elif 'stop' == sys.argv[1]:
            daemon.stop()
        elif 'restart' == sys.argv[1]:
            daemon.restart()
        else:
            print "Unknown command"
            sys.exit(2)
        sys.exit(0)
    else:
        print "usage: %s start|stop|restart" % sys.argv[0]
        sys.exit(2)

有時我的進程關閉了,但是沒有看到錯誤報告。 如果進程關閉,如何查看錯誤報告?

使用日志記錄模塊捕獲異常。 例如:

import logging

except serial.SerialException as e:
      logging.debug("Could not open serial port: {}".format(com_port, e))

我不知道您的代碼,您輸入了循環,但我建議您在程序中使用也許返回值。 如果由於特定原因而中斷,那么您會得到一些提示。 這也可以記錄。 在python中,您可以輕松地返回幾個參數。 我不知道,為什么您不使用這些功能。

暫無
暫無

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

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