如何在Python 中使用loguru日志框架
如何在Python 中使用loguru日志框架?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
安装
pip install loguru
输出日志
from loguru import loggerlogger.debug("这是一条debug日志")
终端执行后出现带颜色的日志,挺酷的
输出到文件
from loguru import loggerlogger.add("file_{time}.log")logger.debug("这是一条debug日志")logger.info("这是一条info日志")
目录下多出一个日志文件 :file_2019-03-14_19-53-25_661314.log
日志规则
设置日志格式,过滤器,日志级别
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日志
日志文件
文件管理方式
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
时间格式化
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/
在工程中创建多个文件处理器对象并解决中文乱码问题
# 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的优点有哪些
1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341