python日志记录:从命令行将StreamHandler发送到文件

eLR*_*uLL 5 python shell logging

假设我有一个类似以下的脚本,但是我不能编辑它

import logging

logger = logging.getLogger('simple_example')
logger.setLevel(logging.DEBUG)

handler = logging.StreamHandler()

logger.addHandler(handler)

logger.debug('debug log')
logger.info('info log')
logger.warning('warning log')
logger.error('error log')
Run Code Online (Sandbox Code Playgroud)

后来我用以下命令调用此脚本:

python log_example.py > file.log
Run Code Online (Sandbox Code Playgroud)

但这不是填充file.log文件,而是在控制台中输出日志。

问:,有没有办法,尽管配置日志处理程序StreamHandler中,仍然输出登录到命令行文件?

use*_*515 6

尝试&>语法,就像Pijnappel对这个问题的回答一样。这会将所有输出(不只是stdout)重定向到文件。

python log_example.py &> file.log
Run Code Online (Sandbox Code Playgroud)