loguru日志二次封装

log:

项目里面根据需求,有时候我们需要将日志存储到文件里面,方便问题定位及追溯原因

loguru使用安装

pip3 install loguru

单独在脚本使用方法

from loguru import logger

logger.debug("这是debug日志!")

这种日志只在控制台输出

项目中日志使用,及封装

# -*- coding:utf-8 -*-
# @FileName:logs.py
# @Author  :YYQ
# @Desc    :在一台超级计算机上运行过的牛逼Python代码

import time
import loguru
from pathlib import Path
from base_path import path

log_path = Path(path, "result", "log")
t = time.strftime("%Y_%m_%d")


class Loggings:

    def __new__(cls, *args, **kwargs):
        logger = loguru.logger
        logger.add(f"{log_path}/log_{t}.log",  rotation="12:00", encoding="utf-8",
                   enqueue=True, retention="10 days")
        return logger


logging = Loggings()


在使用的过程中,直接引用日志封装类,然后进行info,debug,error的打印,执行过程日志都会存储在对应的存储文件下面,此文件为基类,可以直接使用在项目中

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
二次封装 loguru 的方式可以更方便地使用 loguru 模块,同时也可以根据自己的需求自定义日志的格式、级别等信息。 下面是一个示例,将 loguru 封装成一个名为 `MyLogger` 的类,用于输出日志信息: ```python from loguru import logger import sys class MyLogger: def __init__(self, log_path): # 配置日志文件处理器 logger.add(log_path, rotation="10 MB", retention="5 days", level="INFO", encoding="utf-8") # 配置控制台处理器 logger.add(sys.stdout, colorize=True, format="<level>{level} {message}</level>") def info(self, message): logger.info(message) def debug(self, message): logger.debug(message) def warning(self, message): logger.warning(message) def error(self, message): logger.error(message) def exception(self, message): logger.exception(message) ``` 以上代码定义了一个名为 `MyLogger` 的类,它封装loguru 模块,用于输出日志信息。在 `__init__()` 方法中,配置了两个处理器,一个用于输出到日志文件,一个用于实时输出到控制台。其中,`log_path` 参数指定了日志文件的路径,`rotation` 和 `retention` 参数用于配置日志文件的大小和保留时间,`level` 参数指定了日志级别,`encoding` 参数指定了日志文件的编码方式。`sys.stdout` 表示输出到标准输出流,`colorize=True` 表示控制台输出的日志信息带有颜色,`format` 参数用于自定义日志信息的格式。 在类中定义了几个方法,分别用于输出不同级别的日志信息。这些方法内部直接调用 loguru 的对应方法即可。 使用时,可以先创建一个 `MyLogger` 对象,然后调用其方法输出日志信息: ```python logger = MyLogger("app.log") logger.info("This is an info message") logger.debug("This is a debug message") logger.warning("This is a warning message") logger.error("This is an error message") ``` 这样,日志信息就会实时输出到控制台上,并且同时写入到日志文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值