当前位置: 首页 > 面试题库 >

带回溯的日志异常

盛辰沛
2023-03-14
问题内容

如何记录我的Python错误?

try:
    do_something()
except:
    # How can I log my exception here, complete with its traceback?

问题答案:

logging.exceptionexcept:处理程序/块中使用,可将当前异常与跟踪信息一起记录在日志中,并附带一条消息。

import logging
LOG_FILENAME = '/tmp/logging_example.out'
logging.basicConfig(filename=LOG_FILENAME, level=logging.DEBUG)

logging.debug('This message should go to the log file')

try:
    run_my_stuff()
except:
    logging.exception('Got exception on main handler')
    raise

现在查看日志文件/tmp/logging_example.out

DEBUG:root:This message should go to the log file
ERROR:root:Got exception on main handler
Traceback (most recent call last):
  File "/tmp/teste.py", line 9, in <module>
    run_my_stuff()
NameError: name 'run_my_stuff' is not defined


 类似资料:
  • Supporting Functions # traceback_example.py import traceback import sys def produce_exception(recursion_level=2): sys.stdout.flush() if recursion_level: produce_exception(recursion_l

  • 我在Spring MVC应用程序中实现了一个类,它为我扩展了HandlerInterceptorAdapter,以便在执行任何控制器之前在preHandle、postHandle和afterCompletion中执行一些操作。下面是我正在观察的情况。 预处理日志记录的日志条目AppTime:00:30:01.230线程:[http-nio-8080-exec-1]级别:INFO Class:Hel

  • 1.【强制】应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架SLF4J中的API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。 import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger logger = LoggerFactory

  • 我在我的应用程序中使用SLF4J和LogBack。我使用了几个也使用SLF4J的第三方库。为了隐藏他们的日志,我将根日志级别设置为“WARN”。但是,对于我自己的记录器,我想在日志输出中显示所有内容(无论消息级别如何)。这是我目前的配置: 不幸的是,上面显示的配置无法按预期为我工作。我只收到来自“MyLogger”类的消息,如果它们的日志级别为WARN或更高。 总结一下我想要的: 通常,只应记录级

  • 我最近接到的任务是开始构建一个新的Spring 3 MVC项目(在这方面我是新手)。在开普勒设置了大部分POC项目后,我有: 一个原型Web应用程序(HelloWorld样式),可以部署并在(外部)Tomcat7中工作。 已配置日志并报告给控制台: 但是当我进入我的代码使用类方法时(我尝试了和两种风格),Eclipse无法识别Logger实例中的方法: 键入 后 Eclipse 代码助手显示以下选