zl程序教程

您现在的位置是:首页 >  Python

当前栏目

Python写脚本尝试loguru模块

2023-02-18 16:28:34 时间

1.安装

pip3 install loguru

2.引入并展示日志打印格式

from loguru import logger

logger.debug("这是一条debug日志")

如上图所示,loguru打印日志的时候,默认设置了基本的格式信息,包括时间,日志级别,代码位置和日志信息,不需要我们在定义logger的时候设置格式,当然也可以自己添加其他格式信息。

3.日志输入到指定文件

logger.add("file.log")

logger.add("1.log") logger.info("将日志信息输出到指定文件中")

4.设置日志规则

设置日志格式,过滤器,日志级别:

logger.add("file.log", format="{time} {level} {message}", filter="", level="INFO")

logger.debug("这是一条dubug日志") logger.info("这是一条info日志")

注:这里文件中只打印INFO级别的日志

5.日志文件管理设置

logger.add("file_1.log", rotation="500 MB") # 文件过大就会重新生成一个文件

logger.add("file_2.log", rotation="12:00") # 每天12点创建新文件

logger.add("file_3.log", rotation="1 week") # 文件时间过长就会创建新文件

logger.add("file_X.log", retention="10 days") # 一段时间后会清空

logger.add("file_Y.log", compression="zip") # 保存zip格式

logger.add("somefile.log", enqueue=True) # 异步写入

logger.add("somefile.log", serialize=True) # 序列化为json

6.时间格式化

logger.add("file.log", format="{time:YYYY-MM-DD at HH:mm:ss} | {level} | {message}")

7.装饰器封装接口日志信息

# -*- coding: utf-8 -*-
from loguru import logger
import time


def log_decorators(func):
    def wrapper(*args, **kwargs):
        logger.info("%s 请求成功" % args[0])
        func(*args, **kwargs)
        logger.info("%s 请求结束" % args[0])

    return wrapper


@log_decorators
def test_service(service, server):
    logger.info("我是一个测试函数,请叫我:%s" % service)
    logger.info("我是第二个参数:%s" % server)
    time.sleep(2)
    logger.info("测试结束,thanks %s" % service)


if __name__ == "__main__":
    test_service("anfang", "crystal")