python logging:从命令行将StreamHandler发送到文件

时间:2017-01-13 01:13:50

标签: 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')

稍后我将此脚本称为:

python log_example.py > file.log

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

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

1 个答案:

答案 0 :(得分:5)

尝试&>语法,如Pijnappel对this question的回答。这会将所有输出(不仅仅是stdout)重定向到文件。

python log_example.py &> file.log