[85.程序调试与测试(5):日志追踪异常信息] 零基础学python,简单粗暴



当我们try到系统发生异常时,我们可以通过日志文件来自动进行记录

下面的例子中,由于要打的文件并不存在,日志会自动记录这一异常相关的信息:发生的时间,所在的代码行,等等;

import logging

# 全局日志对象和级别
logger = logging.getLogger(__name__)
logger.setLevel(level=logging.INFO)

# 定义日志格式对象
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# 创建文件处理器和流处理器
handler = logging.FileHandler("./logs/log4.txt")
console = logging.StreamHandler()
logger.addHandler(handler)
logger.addHandler(console)

# 设置处理器的级别和格式
handler.setLevel(logging.INFO)
console.setLevel(logging.INFO)
handler.setFormatter(formatter)
console.setFormatter(formatter)

# 打印日志
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")

try:
    # 这里打开一个并不存在的文件
    open("sklearn.txt", "rb")
except Exception:
    # exc_info=True 一并日志记录系统抛出的异常信息,False则不记录
    logger.error("Faild to open sklearn.txt,Exception as following:", exc_info=True)
logger.info("Finish")

执行结果 

这里虽然暂时是在控制台进行的打印,但我们完全可以以文件的形式对这些异常信息进行记录,将来通过查看异常日志,我们可以逐步完善程序的功能,例如一个在线的服务端程序;

版权声明:本文为博主原创文章,未经博主允许不得转载。https://my.csdn.net/pangzhaowen

猜你喜欢

转载自blog.csdn.net/pangzhaowen/article/details/80740341
今日推荐