Python logzero和stdout
logzero将所有条目日志发送到一个文件,但也发送到stdout。有没有办法避免污染污水 我想用Python来做这件事。我不想调用脚本并将其输出重定向到/dev/null,因为如果这样做,我将无法将有用的消息打印到stdoutPython logzero和stdout,python,python-logging,Python,Python Logging,logzero将所有条目日志发送到一个文件,但也发送到stdout。有没有办法避免污染污水 我想用Python来做这件事。我不想调用脚本并将其输出重定向到/dev/null,因为如果这样做,我将无法将有用的消息打印到stdout 编辑:@blues指出,logzero向stderr发送行,而不是stdout。logzero实际上没有向stdout发送任何日志,而是发送到stderr。因此,您可以将它们重定向到/dev/null,而不会影响常规输出 但logzero还有一个根本不使用此处理程序的问
编辑:@blues指出,logzero向stderr发送行,而不是stdout。logzero实际上没有向stdout发送任何日志,而是发送到stderr。因此,您可以将它们重定向到/dev/null,而不会影响常规输出 但logzero还有一个根本不使用此处理程序的问题:
import logzero
logger = logzero.setup_default_logger(disableStderrLogger=True)
logzero.logfile('zero.log')
logger.info('appears in file but not on terminal')
但是,我建议只使用本机python日志模块,因为只设置文件日志实际上更容易:
import logging
logging.basicConfig(filename='logging.log', level='DEBUG')
logging.info('will be logged to file')