小编bls*_*sqr的帖子

logging.raiseExceptions = True 不会重新引发异常

我试图在我的代码中具有以下功能:

  • 在不中断程序流程的情况下记录信息和错误消息以及控制台和/或文件的异常(即吞下异常,某种运行模式
  • 通过设置标志进入开发模式,在那里引发异常develop = True

目前,我正在使用 Python3logging模块,它(根据this)应该具有内置的功能。标志是logging.raiseExceptions = True

但是,我没有让它在 MWE 中工作:无论我的标志设置是什么,我抛出的异常都不会重新引发。

# mwe.py
import logging
import logging.config

if __name__ == '__main__':
    # Configure logging and set flag to raise exceptions
    logging.config.fileConfig('log.conf')
    logging.raiseExceptions = True

    logger = logging.getLogger('root')

    logger.info('Started')

    # Test whether exceptions get raised
    try:
        raise RuntimeError("Ooops.")
    except RuntimeError:
        try:
            logger.exception('There was an oops.')
            # which is the same as logger.error('...', exc_info=True)
        except:
            print("GOTCHA! Exception was re-raised.")

    logger.info('Finished') …
Run Code Online (Sandbox Code Playgroud)

python logging python-3.x

2
推荐指数
1
解决办法
2891
查看次数

标签 统计

logging ×1

python ×1

python-3.x ×1