作者:Harkerbest
声明:本文章为原创文章,本文章永久链接:https://www.harkerbest.cn/?p=672,转载请注明原文地址,盗版必究!!!
如果你还在为Python自带日志库logging的复杂配置而感到厌烦,又或者依旧使用print()来输出程序日志,那么轻量级日志库Loguru将是你的最佳选择!它具备以下特点:
- 无需复杂的配置,几行代码就可以上手
- 可以区分不同类型的日志:正常,警告,错误,严重
- 可以轻松地指定日志文件格式、名称
- 可以将不同类型的日志存入不同的文件中
- 支持异步、线程安全、进程安全
- 支持string format格式
- ……
安装
一如既往地简单,使用pip即可,在命令提示符键入以下命令即可
pip install loguru
教程
只需要下面这些简单的例子你就能知道使用Loguru有多便捷!
简单输出
from loguru import logger
logger.info("一个普通的info信息")
上述代码运行结果如下
2023-07-13 22:01:12.982 | INFO | __main__:<module>:1 - 一个普通的info信息
没错,输出一个包含基本信息的日志仅仅需要这两行代码,就像print一样方便。那么,如果要把日志保存到指定文件中呢?
保存日志文件
from loguru import logger
logger.add("out_put.log")
logger.info("这条日志将会被写入文件")
执行后,像上面那样的日志就会被保存到文件out_put.log中,当然,你也可以写入完整的路径用以指定文件的保存位置。
不同级别的日志信息
为了区分日志信息的重要性,程序输出日志时会把信息按相应的等级输出,Loguru中使用不同的函数来输出不同级别的信息。支持的级别有这七种(括号中的整数表示日志层级Log level no,数值越大,层级越高):
- TRACE (5): 用于记录程序执行路径的细节信息,以进行诊断。
- DEBUG (10): 开发人员使用该工具记录调试信息。
- INFO (20): 用于记录描述程序正常操作的信息消息。
- SUCCESS (25): 类似于INFO,用于指示操作成功的情况。
- WARNING (30): 警告类型,用于指示可能需要进一步调查的不寻常事件。
- ERROR (40): 错误类型,用于记录影响特定操作的错误条件。
- CRITICAL (50): 严重类型,用于记录阻止核心功能正常工作的错误条件。
对应的输出函数如下:
logger.trace("A trace message.")
logger.debug("A debug message.")
logger.info("An info message.")
logger.success("A success message.")
logger.warning("A warning message.")
logger.error("An error message.")
logger.critical("A critical message.")
输出效果如图:
未完待续……