美文网首页
Python日志的使用

Python日志的使用

作者: lily_5945 | 来源:发表于2020-12-11 11:28 被阅读0次

以下是日志生成的过程

# 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文件下查看结果

image.png
image.png
下面我们就可以在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)

运行后

image.png

相关文章

网友评论

      本文标题:Python日志的使用

      本文链接:https://www.haomeiwen.com/subject/ztnjqktx.html