
日志系统
文章平均质量分 81
久念祈
一名普通的大学生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于多设计模式的同步&异步日志系统--代码设计(五)
这一篇我们将完成对异步日志器的设计。原创 2025-07-07 15:34:14 · 606 阅读 · 0 评论 -
基于多设计模式的同步&异步日志系统--代码设计(六)
我们之前设计了一个local的日志器建造者,其中只是会返回对应的日志器,用户还需要自己将日志器添加到日志器管理者中,提高了操作的复杂度,所以我们设计一个全局的日志器建造者,自动将日志器添加到管理者中。以日志器的名称作为唯一关键字将创建的日志器保存起来,允许用户通过日志器名称获取对应日志器,如果日志器不存在,返回一个默认的日志器。日志器管理者要求全局唯一。我们还需要设计一组宏函数来代理日志器对日志信息的落地,这里提供两组,一组是需要日志器指向的宏函数,一组是直接可以用默认日志器落地的宏函数。原创 2025-07-08 10:14:34 · 378 阅读 · 0 评论 -
基于多设计模式的同步&异步日志系统--代码设计(四)
日志器模块是对前述几个模块的整合,实现对日志信息的格式化与落地等功能。这里设计同步和异步两种日志器。需要提供的对外接口接口有:说明:这五种接口(对应物种日志等级)需要用户传入文件名,文件行号,日志主体信息(其他信息在日志器构造时就会确认),先将日志的主体信息(不定参信息)按照fmt转换为字符串,再用所有信息构造一个LogMsg,格式化后进行日志落地。原创 2025-07-06 13:44:05 · 694 阅读 · 0 评论 -
基于多设计模式的同步&异步日志系统--代码设计(三)
在这一模块中我们将完成对日志信息的落地的功能,主要完成三个落地方向的设计:我们还将支持用户自己设计落地反向进行扩展。原创 2025-07-04 14:31:33 · 366 阅读 · 0 评论 -
基于多设计模式的同步&异步日志系统--项目介绍以及技术准备
(1)生产环境的产品为了保证其稳定性和安全性,不允许开发人员附加调试器排查问题, 可以使用日志系统打印一些日志来帮助开发人员解决问题。(2)上线客户端的产品出现的bug无法复现并解决,可以通过日志系统打印日志并上传到服务器端帮助开发人员分析问题。(3)对于一些高频操作在少量的调试次数下可能无法触发我们想要的行为,导致排查问题的效率十分低下,可以借助日志系统帮我们解决问题。(4)在分布式、多进程/多线程代码中,出现bug比较难以定位,可以借助日志系统打印log来定位bug。原创 2025-07-01 16:09:15 · 726 阅读 · 0 评论 -
基于多设计模式的同步&异步日志系统--框架设计
本项目实现的是一个多日志器的日志系统,主要实现的功能是让那个程序员可以更加轻松得将程序运行的日志信息落地到指定的位置,并且支持同步和异步两种方式的落地方式。原创 2025-07-02 16:18:53 · 648 阅读 · 0 评论 -
基于多设计模式的同步&异步日志系统--代码设计(一)
本篇开始就要进行项目的代码设计,即真正实现我们的日志系统。原创 2025-07-02 16:41:19 · 377 阅读 · 0 评论 -
基于多设计模式的同步&异步日志系统--代码设计(二)
⽇志输出格式化类设计(format.hpp)⽇志输出格式化类设计(format.hpp)在这一模块中我们将完成对日志信息的格式化输出,支持按照用户的需求自定义格式化,但是有几条说明:例如:[%d{%H:%M:%S}][%t][%p][%c][%f:%l]%T%m%n,其中规定%为格式化字符的前缀,%%代表一个普通的%字符,{}中的内容为格式化字符的子格式规则,凡是非格式化字符的字符我们叫做其他字符。原创 2025-07-03 13:46:54 · 369 阅读 · 0 评论