我需要在运行为进程的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)
有时我的进程关闭但我没有看到错误报告。如果进程关闭,我怎么能看到错误报告?
答案 0 :(得分:0)
使用日志记录模块捕获异常。 E.g:
import logging
except serial.SerialException as e:
logging.debug("Could not open serial port: {}".format(com_port, e))
我不知道你的代码,你进入循环但我可以建议你在程序中使用可能的返回。如果它因特定原因而中断,那么你会得到一些提示。这也可以记录下来。 在python中,您可以轻松返回多个参数。我不知道,为什么你不使用这些功能。