traceback | 记录详细日志
如下
exc_info=True 等同于 traceback
import logging import sys # 配置日志系统 def setup_logger(): # 创建logger对象 logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) # 设置最低日志级别 # 创建控制台处理器 console_handler = logging.StreamHandler(sys.stdout) console_handler.setLevel(logging.DEBUG) # 创建日志格式 formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) console_handler.setFormatter(formatter) # 添加处理器到logger logger.addHandler(console_handler) return logger # 获取logger实例 logger = setup_logger() def main(): try: # 可能出错的代码 logger.info("尝试打开文件...") open("不存在的文件.txt") except Exception as e: # 记录错误日志(包含堆栈信息) logger.error(f"文件操作失败: {str(e)}", exc_info=True) # 也可以使用 logger.exception() 达到同样效果 # logger.exception("文件操作失败") """ exc_info=True: 关键参数,指示记录器同时记录完整的异常堆栈信息 会输出异常发生时的调用堆栈轨迹(traceback) 等同于使用logger.exception()方法,但更加灵活 """ if __name__ == "__main__": main()

浙公网安备 33010602011771号