traceback | 記錄詳細(xì)日志
如下
exc_info=True 等同于 traceback
import logging import sys # 配置日志系統(tǒng) def setup_logger(): # 創(chuàng)建logger對(duì)象 logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) # 設(shè)置最低日志級(jí)別 # 創(chuàng)建控制臺(tái)處理器 console_handler = logging.StreamHandler(sys.stdout) console_handler.setLevel(logging.DEBUG) # 創(chuàng)建日志格式 formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) console_handler.setFormatter(formatter) # 添加處理器到logger logger.addHandler(console_handler) return logger # 獲取logger實(shí)例 logger = setup_logger() def main(): try: # 可能出錯(cuò)的代碼 logger.info("嘗試打開(kāi)文件...") open("不存在的文件.txt") except Exception as e: # 記錄錯(cuò)誤日志(包含堆棧信息) logger.error(f"文件操作失敗: {str(e)}", exc_info=True) # 也可以使用 logger.exception() 達(dá)到同樣效果 # logger.exception("文件操作失敗") """ exc_info=True: 關(guān)鍵參數(shù),指示記錄器同時(shí)記錄完整的異常堆棧信息 會(huì)輸出異常發(fā)生時(shí)的調(diào)用堆棧軌跡(traceback) 等同于使用logger.exception()方法,但更加靈活 """ if __name__ == "__main__": main()

浙公網(wǎng)安備 33010602011771號(hào)