相信现在很多做自动化测试、开发,一般用的都是python的logging来记录日志,但是,logging确实不是很好看,只有一个红色的,在控制台中也不好分辨,那能不能自己写一个好看点的呢?我已经写好一个了,需要的可以直接下载安装试试,下面来说下我是怎么思考怎么写的。
pip install luckylog
首先,需要知道的知识点储备:
1、sys._getframe的使用
2、装饰器的编写
3、使用'\033[ \033[0m'来设置字体颜色
4、threading递归锁
好了,以上就是我们需要的额外知识点了,现在我们开始写吧。
首先,我想要定义四种方式的日志,success、erro、warning、tip,success返回是绿色,erro返回是红色,warning是黄色、tip是默认或者蓝色,前期我们只要直接能打印,然后能够放入文件中,开始第一步,定义几种类型的消息返回形式:
class LogConfig():
__num = 2
def conf_success(self,*args,**kwargs) -> str:
now_time = time.strftime('%Y-%m-%d %H:%M:%S')
def_name = sys._getframe(self.__num).f_code.co_name
line = sys._getframe(self.__num).f_lineno
file_path = sys._getframe(self.__num).f_code.co_filename
return '(p≧w≦q) === {} FILE_PATH=({}) FUNC-({}) <SUCCESS> LINE-{} *MSG==√{} ==='.format(now_time, file_path,def_name, line, args,kwargs)
def conf_erro(self,*args,**kwargs) -> str:
now_time = time.strftime('%Y-%m-%d %H:%M:%S')
def_name = sys._getframe(self.__num).f_code.co_name
line = sys._getframe(self.__num).f_lineno
file_path = sys._getframe(self.__num).f_code.co_filename
return 'φ(゜▽゜*)♪ === {} FILE_PATH=({}) FUNC-({}) <ERRO> LINE-{} *MSG==×{} ==='.format(now_time,file_path,def_name,line,args,kwargs)
def conf_warning(self,*args,**kwargs) -> str:
now_time = time.strftime('%Y-%m-%d %H:%M:%S')
def_name = sys._getframe(self.__num).f_code.co_name
line = sys._getframe(self.__num).f_lineno
file_path = sys._getframe(self.__num).f_code.co_filename
return 'o(* ̄▽ ̄*)ブ === {} FILE_PATH=({}) FUNC-({}) <WORNING> LINE-{} *MSG==!{} ==='.format(now_time,file_path,def_name, line, args,kwargs)
def conf_normal(self,*args,**kwargs) -> str:
now_time = time.strftime('%Y-%m-%d %H:%M:%S')
def_name = sys._getframe(2).f_code.co_name
line = sys._getframe(2).f_lineno
file_path = sys._getframe(self.__num).f_code.co_filename
return 'm( ̄︶ ̄)↗ === {} FILE_PATH=({}) FUNC-({}) <TIP> LINE-{} *MSG=={} ==='.format(now_time,file_path,def_name, line, args,kwargs)
定义了这四种类型,包含当前时间、函数名字、代码行号、文件路径,当我们调用的时候,就可以直接返回我们需要的字符串,然后下一步,我们将这个输出的东西,存入一个文档,顺便给这些字符串整点颜色看看
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)