python脚本失败时记录日志

python脚本失败时记录日志,python,linux,python-3.x,logging,gnu-screen,Python,Linux,Python 3.x,Logging,Gnu Screen,我正在服务器上通过屏幕会话运行一个相当复杂的python脚本。有时,几个小时后,它崩溃了,我不知道为什么。由于脚本在屏幕上运行,所以当脚本崩溃时,我无法访问错误。有没有办法通过日志或简单的管道提取这些信息?您可以使用nohup和&在后台运行python命令。默认输出将在nohup.out文件中记录任何打印输出(包括终止脚本的错误)。您可以使用> 比如说 nohup python my_python_script.py > my_output_log & 我有一个非常类似的问题,我

我正在服务器上通过屏幕会话运行一个相当复杂的python脚本。有时,几个小时后,它崩溃了,我不知道为什么。由于脚本在屏幕上运行,所以当脚本崩溃时,我无法访问错误。有没有办法通过日志或简单的管道提取这些信息?

您可以使用
nohup
&
在后台运行python命令。默认输出将在nohup.out文件中记录任何打印输出(包括终止脚本的错误)。您可以使用
>

比如说

nohup python my_python_script.py > my_output_log &

我有一个非常类似的问题,我做了类似的事情

import logging
logging.basicConfig(filename = os.path.join(script_path, 'error.log'), level = logging.ERROR)
try:
    # some dangerous code here
except Exception as e:
    logging.exception(str(e))
    # Now you can kill your script, etc

这将生成一个文件'error.log',其中包含崩溃信息

,看起来不错。我可以用这个并行运行多个Scrip和不同的输出文件吗?是的,这应该是可能的。但是,如果坚持使用默认值,则需要小心不要弄乱
nohup.out
文件,因为它只会将输出附加到文件中,因此可能会导致混乱。