python中推荐使用loguru模块记录日志

文章介绍了如何使用Python库loguru进行日志记录,包括向文件中追加日志、设置日志轮换策略(如按大小或时间),以及定义不同的日志级别(debug,info,warning,error,critical)。示例代码展示了如何配置和使用这些功能。
摘要由CSDN通过智能技术生成

loguru官方文档(Overview — loguru documentation

下载loguru

#pycharm在terminal
#也可直接打开dos【使用cmd进入dos窗口,如果python没有配置环境变量则要进入到python安装目录】

pip install loguru

loguru的简单常用的操作

#导入loguru
from loguru import logger
#写入日志在文件file.log,追加的形式,不会覆盖重写
#【在当前py同级目录下没有filelog创建并写入,有则追加】
#实现每 500MB 存储一个文件,每个 log 文件过大就会新创建一个 log 文件
logger.add("file.log", rotation="500 MB")
#实现每天 0 点新创建一个 log 文件输出
logger.add("file.log", rotation='00:00')
#【当前路径存在直接写入,没有创建目录并写入,后续追加】
---- ./当前目录下---> ../返回py返回上级目录---> ../../返回上上级目录
logger.add("../同级目录/同级目录下的目录/file.log", rotation="500 MB")
logger.add("../../上上级目录/上上级目录下的目录/file.log", rotation="500 MB")
#日志级别
logger.debug("This is a debug message")
logger.info("This is an info message")
logger.warning("This is a warning message")
logger.error("This is an error message")
logger.critical("This is a critical message")
-----------使用如下
name = '今天天气真好'
logger.info(name)

二次封装 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") ``` 这样,日志信息就会实时输出到控制台上,并且同时入到日志文件
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值