【问题标题】:Python logzero and stdoutPython logzero 和标准输出
【发布时间】:2020-11-05 11:22:37
【问题描述】:

logzero 将所有条目日志发送到文件,但也发送到标准输出。有没有办法避免污染标准输出?

我想在 Python 中执行此操作。我不想调用我的脚本并将其输出重定向到 /dev/null,因为如果这样做,我将无法将有用的消息打印到标准输出。

编辑:正如@blues 指出的那样,logzero 将行发送到标准错误,而不是标准输出。

【问题讨论】:

    标签: python python-logging


    【解决方案1】:

    logzero 实际上并没有将任何日志发送到 stdout,它们被发送到 stderr。因此,您可以将它们重定向到 /dev/null 而不会影响您的常规输出。

    但是对于 logzero 也有一个 kwarg 根本不使用这个处理程序:

    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')
    

    【讨论】:

      猜你喜欢
      • 2014-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      • 2021-10-20
      • 2021-12-13
      • 1970-01-01
      • 2015-12-25
      相关资源
      最近更新 更多