随笔 - 42  文章 - 0 评论 - 0 阅读 - 8992
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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   会锻炼的猪  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示