import logging
import loguru
import os
import sys
import time
from public.public_globle_fun import project_path

time = str(int(time.time()))

#在allure中显示log
class PrepagateHandler(logging.Handler):
def emit(self, record):
logging.getLogger(record.name).handle(record)


def get_log():
log_path = os.path.join(project_path, 'file/log/run.log')
res = loguru.logger.opt()
res.add(log_path,
rotation="500MB", # 当文件达到500M时重新生成文件
encoding="utf-8",
enqueue=True, # 是否为异步写入
# compression="zip",配置文件的压缩格式,可以配置常见的格式 zip、tar、gz、tar.gz 等
retention="10 days", # 配置日志的最长保留时间
format="{time:YYYY-MM-DD HH:mm:ss}|{level}|{file}:{line}|{message}")
    res.add(PrepagateHandler())
return res
format:
  • {time}:当前时间的默认格式,例如2023-08-17 15:00:00
  • {time:YYYY-MM-DD HH:mm:ss}:自定义时间格式化,例如2023-08-17 15:00:00
  • {level}:日志级别,例如INFOWARNINGERROR
  • {message}:日志消息内容
  • {file}:当前日志消息所在的文件名
  • {function}:当前日志消息所在的函数名
  • {line}:当前日志消息所在的行号
  • {name}:记录器的名称
  • {thread.name}:当前线程的名称
  • {thread.id}:当前线程的I
posted on 2024-04-24 14:39  会锻炼的猪  阅读(24)  评论(0编辑  收藏  举报