[英]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.