python faulthandler,记录到文本文件和多实例
我正在开发一个PyQt应用程序,所以很有可能发生故障 我想用模块来捕捉这些。现在,我不想写信给stderr,而是想做以下事情:python faulthandler,记录到文本文件和多实例,python,file-io,multiple-instances,Python,File Io,Multiple Instances,我正在开发一个PyQt应用程序,所以很有可能发生故障 我想用模块来捕捉这些。现在,我不想写信给stderr,而是想做以下事情: 使faulthandler写入具有已知位置的文件 再次启动时(正常情况下或崩溃后),请检查该文件是否存在,以及其中是否有崩溃日志 如果是这样,请打开一个对话框,要求用户打开带有崩溃日志的bug报告,然后将其删除 现在,除了运行应用程序的多个实例外,这一切都很好 然后我想我可以写入一个具有已知位置的随机文件(比如,crash-XXXXX.log),然后在开始检查cra
- 使faulthandler写入具有已知位置的文件
- 再次启动时(正常情况下或崩溃后),请检查该文件是否存在,以及其中是否有崩溃日志
- 如果是这样,请打开一个对话框,要求用户打开带有崩溃日志的bug报告,然后将其删除
crash-XXXXX.log
),然后在开始检查crash-*.log
,如果它不是空的,则执行与上面相同的操作
然而,当这样做时,至少在Linux上,我可以在另一个实例可能仍然打开文件时删除该文件,如果该实例崩溃,日志就会丢失
我也不能在正确的时间打开文件,因为faulthandler需要一个打开的文件
我正在寻找一种解决方案:
- 可用于多个实例
- 正确捕获所有这些实例的崩溃
- 在一个实例崩溃后启动新实例时,仅打开一次崩溃对话框
- 在关闭所有实例后不会留下任何过时的文件
- 至少在Linux和Windows上工作