选择使用这个库的原因是它使用简洁不复杂不像logging这个库一样需要创建Handle等,一个logger搞定所有12
C:\Users\hzdl> pip install loguru
from loguru import logger
logger.info('just test')
logger直接输出内容前,已经提前做了配置,比较友好地输出内容的格式和颜色
2023-05-31 10:06:46.703 | INFO | main::19 - just test
如果要对输出的内容进行其他处理需要使用add方法,下面是python源码对add方法的说明,可以传入很多参数
sink可以传递str对象或者Path路径
from loguru import logger
logger.add('test.log')
logger.info("一个bug")
这样我们的add会自动判断这个字符串是个路径然后目录写入我们的log信息
这个可以约束日志的最大范围,exp:
“1 MB” “1 GB” “1 month” “2 weeks” “4 days” … …
from loguru import logger
ogger.add('run_{time}.log',format='{time}|{level}|{message}',rotation="1 KB")
key | 描述 |
---|---|
time | 记录日志生成的时间 |
module | 日志记录的文件的名称 |
name | 日志记录的文件的名称 |
level | 日志的级别 |
function | 日志出错的方法 |
message | 记录日志的信息 |
line | 记录日志的行数 |
… | 常用的也就这么多,其他不常用了 |
#demo.py
1 from loguru import logger
2
3 logger.add('run.log',
4 format='{time}|{level}|{message}|{line}|{module}|{name}',rotation="1 KB")
5 logger.info("My message error")
6 logger.info("My message errorsssssssssssss")
7 logger.info("My message error")
#run.log
2023-06-20T14:32:14.749599+0800|INFO|My message error|5|demo|__main__
2023-06-20T14:32:14.749599+0800|INFO|My message errorsssssssssssss|6|demo|__main__
2023-06-20T14:32:14.749599+0800|INFO|My message error|7|demo|__main__
Level Name | Severity value | Logger method |
---|---|---|
TRACE | 5 | logger.trace() |
DEBUG | 10 | logger.debug() |
INFO | 20 | logger.info() |
SUCCESS | 25 | logger.success() |
WARNING | 30 | logger.warning() |
ERROR | 40 | logger.error() |
CRITICAL | 50 | logger.critical() |
常用的也就info或者debug以及error
loguru 还可以配置文件的压缩格式,比如使用 zip 文件格式保存,示例如下:
logger.add('runtime.log', compression='zip')
有时候调用函数过程中函数调用出现异常无法记录错误可以使用logger的装饰器进行追踪
@logger.catch
def function(x, y):
return x / y
参考文档: https://cuiqingcai.com/7776.html ↩︎
参考文档:https://loguru.readthedocs.io/en/stable/api/logger.html#sink ↩︎