您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python 第三方日志框架loguru使用

51自学网 2021-10-30 22:40:41
  python
这篇教程Python 第三方日志框架loguru使用写得很实用,希望能帮到您。

解决中文乱码问题

项目地址 github: https://github.com/Delgan/loguru
文档:https://loguru.readthedocs.io/en/stable/index.html

安装

pip install loguru

1、输出日志

from loguru import loggerlogger.debug("这是一条debug日志")

终端执行后出现带颜色的日志,挺酷的

2、输出到文件

from loguru import loggerlogger.add("file_{time}.log")logger.debug("这是一条debug日志")logger.info("这是一条info日志")

目录下多出一个日志文件 :file_2019-03-14_19-53-25_661314.log

3、日志规则

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

from loguru import loggerlogger.add("file.log", format="{time} {level} {message}", filter="", level="INFO")logger.debug("这是一条debug日志")logger.info("这是一条info日志")

输出

2019-03-14T20:01:25.392454+0800 INFO 这是一条info日志

4、日志文件

文件管理方式

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格式

5、其他参数

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}")

配合notifiers模块
github: https://github.com/notifiers/notifiers
文档:https://notifiers.readthedocs.io/en/latest/

7、在工程中创建多个文件处理器对象并解决中文乱码问题

# coding=utf-8import osimport sysfrom loguru import loggerBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))log_file_path = os.path.join(BASE_DIR, 'Log/my.log')err_log_file_path = os.path.join(BASE_DIR, 'Log/err.log')logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO")# logger.add(s)logger.add(log_file_path, rotation="500 MB", encoding='utf-8')  # Automatically rotate too big filelogger.add(err_log_file_path, rotation="500 MB", encoding='utf-8',           level='ERROR')  # Automatically rotate too big filelogger.debug("That's it, beautiful and simple logging!")logger.debug("中文日志可以不")logger.error("严重错误")

以上就是Python 第三方日志框架loguru使用的详细内容,更多关于Python 日志框架loguru的资料请关注51zixue.net其它相关文章!


一篇教程教你学会Python进制转换(十进制转二进制、八进制、十六进制)
PyTorch平方根报错的处理方案
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。