在python脚本中运行jar时,在文件中记录System.err流



我有一个使用python脚本在命令行上运行的jar文件。jar文件有时可能引发异常或崩溃。我想把这些事件和异常记录在一个文件中。我使用的是sys.stderrsys.stdout,它们似乎都无法捕捉到异常。我写这封信是想问我如何在python脚本中做到这一点。

使用管道的简单运行会产生:

def run_capture(command):
    import subprocess
    child = subprocess.Popen(command, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
    (output, errput) = child.communicate()
    print "Out:'%s'" % output
    print "Err:'%s'" % errput

所有输出都被捕获。

如果我将stderr = subprocess.PIPE更改为stderr = file("destfile.txt", "w"),则stderr输出将转到请求的文件。

相关内容

  • 没有找到相关文章

最新更新