loguru日志-最新
以往的日志输出,打印的日志输出不在一个log表中
from configparser import ConfigParser # 导入配置文件
from loguru import logger
from utils.handle_path import *
from time import strftime
class Mylog():
__instance = None # 用于实现单例模式的私有实例
__init_flag = True # 控制ini调用,如果调用过就不在调用
def __new__(cls,*args,**kwargs): # 定义__new__方法,用于实现单例模式。
if not cls.__instance: # 如果类的实例不存在,
cls.__instance = super().__new__(cls) # 创建一个新的实例
return cls.__instance # 返回类的实例
def __init__(self): # 定义__init__方法,用于初始化
if self.__init_flag: # 如果__init__方法没有被调用过
__curdate = strftime('%Y%m%d-%H%M') # 获取当前日期时间并格式化
cfg = ConfigParser() # 创建一个ConfigParser对象
cfg.read(config_path+'loguru.ini',encoding='utf-8') # 读取配置文件 ----------------config_path 来自配置文件loguru.ini
logger.remove(handler_id=None) # 关闭console输出
# 设置日志的参数,包括存放位置、清理策略、循环规则、输出格式和日志级别。
logger.add(logs_path + 'bigdata_' + __curdate + '.log', #-------------------------log_path来自配置文件脚本
retention=cfg.get('log', 'retention'),
rotation=cfg.get('log', 'rotation'),
format=cfg.get('log', 'format'),
level=cfg.get('log', 'level'))
self.__init_flag = False
def info(self, msg):
logger.info(msg)
def warning(self, msg):
logger.warning(msg)
def critical(self, msg):
logger.critical(msg)
def error(self, msg):
logger.error(msg)
def debug(self, msg):
logger.debug(msg)
log = Mylog()
if __name__ == '__main__':
log.error('111')
关于# ---------------处 可以看到有config_path / logs_path 一级loguru.ini 这是提前写好的脚本和配置
loguru.ini 文件
[log]
format = {time:YYYY-MM-DD HH:mm:ss},{module}(line:{line}),{level}||{message}
level = ERROR
rotation = 10 MB
retention = 2 days
这是脚本的地方
import os
project_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
project_path1 = os.path.abspath(__file__)
project_path2 = os.path.dirname(os.path.abspath(__file__))
common_path = os.path.join(project_path,'common\'')
test_datas_path = os.path.join(project_path,'testdata\\')
outputs_path = os.path.join(project_path,'outputs\\')
logs_path = os.path.join(outputs_path,'logs\\')
screenshots_path = os.path.join(outputs_path,'screenshots\\')
reports_path = os.path.join(outputs_path,'reports\\')
config_path = os.path.join(project_path,'config\\')
if __name__ == '__main__':
print(logs_path)
print(project_path1)
print(config_path)
嗨~今天你暴躁了吗?
~~~关注我,更多精彩内容带给你,关注私聊带走绝密知识~~~

浙公网安备 33010602011771号