近年来不管是开发还是测试,企业对其的代码能力的要求在逐渐提高,编写与调试是必不可少的工作内容。本文针对如何运用python的logging模块定位错误坐标做出演示,希望能够帮助到大家。
非常简单清晰的两个例子。
案例一:
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s',
filename='log.txt', filemode='w')
''' %(asctime)s是创建日志记录时的时间 %(filename)s是报错的程序名 %(lineno)d是出错坐标 %(levelname)s是错误级别 %(message)s是日志内容 filename='log.txt',在当前目录下生成log.txt记录日志内容 '''
def logging_test():
logging.info('实验开始')
try:
assert 1 == 1 #因为是正确的,不报错,直接跳入else
except Exception as e:
logging.info('这个地方有错误')
else:
logging.info('正确')
logging.info('实验结束')
if __name__ == '__main__':
logging_test()
日志内容:
2020-12-30 20:59:53,641 - main.py[line:8] - INFO: 实验开始
2020-12-30 20:59:53,641 - main.py[line:14] - INFO: 正确
2020-12-30 20:59:53,641 - main.py[line:15] - INFO: 实验结束
案例二:
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s',
filename='log.txt', filemode='w')
def logging_test():
logging.info('实验开始')
try:
assert 1 == 2
except:
logging.info('这个地方有错误')
else:
logging.info('正确')
logging.info('实验结束')
if __name__ == '__main__':
logging_test()
日志内容:
2020-12-30 21:03:42,492 - main.py[line:8] - INFO: 实验开始
2020-12-30 21:03:42,492 - main.py[line:12] - INFO: 这个地方有错误
2020-12-30 21:03:42,493 - main.py[line:15] - INFO: 实验结束
案例二的错误日志中可以清晰地看到,mian.py中第12行有错误,可以直接去该坐标附近排查问题,节约调试时间。当然这种方法是建立在你大约知道错误出在哪块区域,但又不确定,那么就可以用此方法进行地毯式排查。
又是快乐的一天!希望大家也能够做一个快乐的打工人。
本文地址:https://blog.csdn.net/sjx1111111/article/details/111998083
黄山市民网:https://www.huangshanshimin.com/