以下是日志生成的过程
# coding=utf-8
import logging
import os
import sys
import datetime
sys.path.append(os.getcwd())
# 获取当前时间年月日
TM = datetime.datetime.now().strftime('%Y-%m-%d')
file_path = os.getcwd()+'/log/logs'
# 拼接文件名
log_name =file_path + '/' + TM +'.log'
# 实例化,创建一个日志
loger = logging.getLogger(__name__)
# 设置日志等级
loger.setLevel(logging.INFO)
# 输出到控制台
# consle = logging.StreamHandler()
# loger.addHandler(consle)
# 文件输出日志
file_hander = logging.FileHandler(log_name)
formetter = logging.Formatter(
'%(asctime)s %(filename)s %(funcName)s %(name)s %(module)s %(levelno)s %(message)s'
)
file_hander.setFormatter(formetter)
loger.addHandler(file_hander)
loger.info('this is a case')
# 关闭Handel
file_hander.close()
loger.removeHandler(file_hander)
# 创建handel,写入一个日志
fh = logging.FileHandler('this is a case')
# 定义Handel的输出格式 时间 级别 内容 文件路径 文件名 函数名 函数代码行号
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s %(pathname)s %(filename)s %(funcName)s %(lineno)d')
fh.setFormatter(formatter)
# 将对应的Handel加入到loger中
loger.addHandler(fh)
把上面的代码封装以下,以便在case中使用
# coding=utf-8
import logging
import os
import sys
import datetime
sys.path.append(os.getcwd())
class UserLog():
def __init__(self):
# 获取当前时间年月日,拼接文件名
TM = datetime.datetime.now().strftime('%Y-%m-%d')
log_name = os.getcwd()+'/log/logs/' + TM + '.log'
# 实例化,创建一个日志,设置日志等级
self.loger = logging.getLogger(__name__)
self.loger.setLevel(logging.INFO)
# 输出到控制台
# consle = logging.StreamHandler()
# loger.addHandler(consle)
# 文件输出日志
self.file_hander = logging.FileHandler(log_name)
formetter = logging.Formatter(
'%(asctime)s %(filename)s %(funcName)s %(name)s %(module)s %(levelno)s %(message)s'
)
self.file_hander.setFormatter(formetter)
self.loger.addHandler(self.file_hander)
def get_log(self):
return self.loger
def close_log(self):
# 关闭Handel
self.file_hander.close()
self.loger.removeHandler(self.file_hander)
if __name__ == "__main__":
user = UserLog()
log = user.get_log()
log.info('this is test')
user.close_log()
封装后运行,可在log文件下查看结果


下面我们就可以在case中引用日志了,这里截图部分代码


来看下该case运行后的日志信息
获取时间扩展
import datetime,time
# 获取当前时间
now_time = datetime.datetime.now()
# 格式化时间字符串
str_time = now_time.strftime("%Y-%m-%d %X")
tup_time = time.strptime(str_time,"%Y-%m-%d %X")
time_sec = time.mktime(tup_time)
# 转换成时间戳 进行计算
time_sec += 1
tup_time2 = time.localtime(time_sec)
str_time2 = time.strftime("%Y-%m-%d %X",tup_time2)
print(str_time)
print(str_time2)
运行后

网友评论