怎么把没有try的异常也输出到文件呢?

来源:9-4 模型与模型关系

海洋球

2018-06-28

formatter = logging.Formatter(app.config.get('LOG_FORMAT'), datefmt=app.config.get('LOG_DATE_FORMAT'))
time_rotating_handler = TimedRotatingFileHandler(filename=app.config.get('LOG_PATH'), when='midnight',
                                                 encoding='utf-8')
time_rotating_handler.setFormatter(formatter)
loggers = [app.logger,
           getLogger('werkzeug'),
           # getLogger('sqlalchemy')
           ]
for logger in loggers:
    logger.addHandler(time_rotating_handler)
    logger.setLevel(app.config.get('LOG_LEVEL', 'INFO'))

这是我的日志配置信息

在views 里面, 未捕获异常的情况下, Traceback 只会输出到控制台,不会输出到日志文件

写回答

2回答

7七月

2018-06-29

服务器再部署后,所有的未处理异常都会自动记录到uwsgi的日志中。如果自己要选择记录到自己指定的地方,那么可以做一个全局异常处理来记录所有异常。

0
0

Anonymous_Nul

2018-07-10

import traceback

try:
   ...
except:
   with open('except_out.log', 'a+') as f:
       traceback.print_exc(file=f)

可以吧控制台错误信息重定向到文件中

0
0

Python Flask高级编程之从0到1开发《鱼书》精品项目

7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程

2735 学习 · 1267 问题

查看课程