如何在Python3中将stdout和stderr重定向到旋转文件

时间:2018-12-10 14:07:29

标签: python-3.x logging stdout stderr

由于Python3文件大小的增加,我想将输出从stdout和stderror重定向到旋转文件。问题是,我不知道如何直接使用logger.warn(message)等显式地记录消息,而不使用记录RotatingFileHandler的方法。

我通过os.dup2将stderr和stdout重定向到两个文件中。请在下面查看我的代码:

    sys.stdout.flush()
    sys.stderr.flush()
    so = open("file.stdout", 'a+')
    se = open("file.stderr", 'a+')
    os.dup2(so.fileno(), sys.stdout.fileno())
    os.dup2(se.fileno(), sys.stderr.fileno())

此外,我尝试使用Mike Pennington的回答“ python:如果超出特定文件大小,则将文件输出到另一个文本文件” 1,但不适用于我的情况。关于如何将stdout / stderr重定向到旋转文件的任何建议?

0 个答案:

没有答案