python loguru记录并解析序列化后的内容

news/发布时间2024/5/15 16:32:24

loguru基本使用方法请参考:https://blog.csdn.net/weixin_35757704/article/details/123047652

将日志序列化的方法是:

from loguru import loggerlogger.add("my_log_debug.log", level="DEBUG",format="{time:YYYY-MM-DD HH:mm:ss.SSS} {level} {message}", enqueue=True, serialize=True)

即可将所有使用logger写入的日志转变为json格式,方便进行解析

完整示例

from loguru import logger
import jsondef generate_log():logger.add("my_log_debug.log", level="DEBUG",format="{time:YYYY-MM-DD HH:mm:ss.SSS} {level} {message}", enqueue=True, serialize=True)logger.debug("debug_a")logger.debug("debug_b")logger.info("info_a")logger.success("success_a")logger.error("error_a")def analyze_file(file_name):with open(file_name, 'r', encoding="utf-8") as fp:for line in fp:json_info = json.loads(line)print({"TIME": json_info['record']["time"]['repr'],"MESSAGE": json_info['record']['message'],})if __name__ == '__main__':generate_log()analyze_file("my_log_debug.log")

结果:

2024-02-23 10:38:52.389 | DEBUG    | __main__:generate_log:16 - debug_a
2024-02-23 10:38:52.391 | DEBUG    | __main__:generate_log:17 - debug_b
2024-02-23 10:38:52.392 | INFO     | __main__:generate_log:18 - info_a
2024-02-23 10:38:52.393 | SUCCESS  | __main__:generate_log:19 - success_a
2024-02-23 10:38:52.393 | ERROR    | __main__:generate_log:20 - error_a
{'TIME': '2024-02-23 10:38:52.389900+08:00', 'MESSAGE': 'debug_a'}
{'TIME': '2024-02-23 10:38:52.391405+08:00', 'MESSAGE': 'debug_b'}
{'TIME': '2024-02-23 10:38:52.392410+08:00', 'MESSAGE': 'info_a'}
{'TIME': '2024-02-23 10:38:52.393411+08:00', 'MESSAGE': 'success_a'}
{'TIME': '2024-02-23 10:38:52.393411+08:00', 'MESSAGE': 'error_a'}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/BVDy/3537.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

【Python笔记-设计模式】外观模式

一、说明 外观模式是一种结构型设计模式,能为程序库、框架或其他复杂类提供一个统一的接口。 (一) 解决问题 简化复杂系统的接口调用 (二) 使用场景 简化复杂系统:需要一个指向复杂子系统的直接接口, 且该接口的功能有限时重构复杂的代码…

15-36V降压充电光伏MPPT充电方案

1.MPPT原理--简介 MPPT,全称为Maximum Power Point Tracking,即最大功点跟踪,它是一种通过调节电气模块的工作状态,使光伏板能够输出更多电能的电气系统能够将太阳能电池板发出的直流电有效地贮存在蓄电池中,可有效地…

[极客挑战2019]HTTP

这道题考察的是http请求头字段的含义和使用; 具体如下 Referer:来源地址 User-Agent:客户端配置信息:浏览器类型、版本、系统类型等 X-Forwarded-For:代理地址,即数据发出的地址 开始解题:(对我这初学者真的烧脑&a…

操作系统导论-课后作业-ch19

1. 本书在第6章中有过介绍,gettimeofday函数最多精确到us,并且大致精确(并不完全精确),需要多迭代几次减少误差,循环次数太多也会导致结束时间小于开始时间(即回滚)的现象&#xff…

计算机网络面经_体系结构一文说清

编辑:平平无奇的羊 目录 基础 1. 计算机网络结构体系 三种模型之间的区别: 如何背诵: 进阶 OSI七层模型: TCP/IP四层模型: TCP/IP五层模型 总结 字节实习生为大家带来的是计算机网络面经系列博文,由浅…

Spring基础之AOP和代理模式

文章目录 理解AOPAOP的实现原理 AOP代理模式静态代理动态代理1-JDK动态代理2-CGLIB动态代理 总结 理解AOP OOP - - Object Oriented Programming 面向对象编程 AOP - - Aspect Oriented Programming 面向切面编程 AOP是Spring提供的关键特性之一。AOP即面向切面编程&#xff0…

数据结构之平衡二叉搜索树

什么是平衡二叉树 AVL是一种自平衡二叉搜索树(self-balancing binary search tree)的数据结构,它的名称来源于其发明者G.M. Adelson-Velsky和E.M. Landis。AVL树通过在每次插入或删除节点时进行旋转操作,来确保树的高度始终保持在…

”戏说“ 交换机 与 路由器

一般意义上说 老哥 这文章发表 的 东一榔头 西一锤 呵呵, 想到哪里就啰嗦到哪里 。 交换机: 其实就是在通道交换 路由器: 不光是在通道交换还要在协议上交换 下图你看懂了吗? (仅仅数据交换-交换机 协议…

国产chat gpt推荐

下述网站响应非常快 会持续更新的! 付费: 小名言 免费: AIchatOS 百度的文心一言

HTTP 与 HTTPS-HTTP 解决了 HTTP 哪些问题?

资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) HTTP 解决了 HTTP 哪些问题? HTTP 由于是明文传输,所以安全上存在以下三个风险: 窃听风险,比如通信链路上可以获取通信内容,用户号容易没。篡改风险,比如…

SMIC思洣客矩阵:重塑数字经济的未来

经济的发展 经济是供需满足的过程,它涵盖了社会物资的生产和再生产过程。在这个过程中,经济活动遵循着生产和再生产的规律,通过生产、分配、交换和消费的过程,不断地形成和再造价值。从传统的市场经济到现代的智能经济&#xff0…

Flink checkpoint操作流程详解与报错调试方法汇总,增量checkpoint原理及版本更新变化,作业恢复和扩缩容原理与优化

Flink checkpoint操作流程详解与报错调试方法汇总,增量checkpoint原理及版本更新变化,作业恢复和扩缩容原理与优化 flink checkpint出错类型flink 重启策略Checkpint 流程简介增量Checkpoint实现原理MemoryStateBackend 原理FsStateBackend原理RocksDBSt…

ARM服务器部署Kafka集群

安装前必备的条件是: (1)安装jdk(提供环境); (2)安装zookeeper(注册kafka信息); 需要这方面信息的可以查看我之前写的文档; 一.下载安装包 Kafka官网下载地址 Apache Kafka 根据自己需要下载相应的版本 目前最新的版本是3.6.1。 二.解压安装包 服务器上传下载好的kafk…

【vue】如何打开别人编译后的vue项目

文件结构如下,编译后的文件放在dist中。 dist的文件结构大约如下,文件名称随项目 1.新建app.js文件 const express require(express);const app express();const port 8080;app.use(express.static(dist));app.listen(port, () > console.log); …

Java 泛型

优质博文:IT-BLOG-CN 一、为什么要有泛型 【1】解决元素存储的安全性问题。 【2】解决获取数据元素时,需要类型强转的问题。 【3】可以统一数据类型,便于操作。 【4】将运行时的异常提前到了编译时,提高了效率。 【5】实现代码的…

已知路径点(x,y)系列坐标如何利用matlab中自带的函数求解曲率值

以Trucksim的路径为例 路径 坐标点 将路径点以mat格式存储在matlab中如下图 4.下面展示 matlab代码。 // 将Ref_Road_Points数据进行类型转化 yyreferencePathFrenet(Ref_Road_Points) //数据一共201个点 将s设置为列向量 s(1:201); kappacurvature(yy,s);注意matlab中这…

对Redis锁延期的一些讨论与思考

上一篇文章提到使用针对不同的业务场景如何合理使用Redis分布式锁,并引入了一个新的问题 若定义锁的过期时间是10s,此时A线程获取了锁然后执行业务代码,但是业务代码消耗时间花费了15s。这就会导致A线程还没有执行完业务代码,A线程…

我是怎么用静态IP代理为Google账号保驾护航的

我为何要使用到静态IP代理服务 我是一名IT从业者,在很多年前就加入了一家跨国软件公司,日常需要在全世界各地跟甲方沟通,负责的工作中重要的一块就是Google广告,为此公司还特意给配置了一台笔记本电脑。 目录 我为何要使用到静态…

会声会影2024视频编辑软件电脑版本下载

一、功能特点 会声会影是一款功能强大的视频编辑软件,它集合了视频剪辑、特效添加、音频处理、字幕制作等多种功能于一身。具体来说,其特点包括: 会声会影2024安装包下载如下: https://wm.makeding.com/iclk/?zoneid55677 直观易用的操作…

Polyspace静态检测步骤

Polyspace 是一个代码静态分析和验证的工具,隶属于MATLAB,用于检测代码中的错误和缺陷,包括内存泄漏、数组越界、空指针引用等。帮助开发团队提高代码质量,减少软件开发过程中的错误和风险。 1、打开MATLAB R2018b 2、找到Polys…
推荐文章