![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
日志系统
文章平均质量分 63
多线程同步异步日志
Shall#
普通码农
展开
-
日志系统——日志器管理模块
日志器管理manager原创 2024-08-07 16:52:19 · 699 阅读 · 0 评论 -
日志系统——异步缓冲区
pc,模型原创 2024-08-07 16:30:40 · 408 阅读 · 0 评论 -
日志系统——日志器模块
日志器原创 2024-08-06 16:54:42 · 453 阅读 · 0 评论 -
日志系统——落地模块
日志落地原创 2024-08-06 16:15:01 · 318 阅读 · 0 评论 -
日志系统——格式化模块
日志系统的日志输出格式可以有用户自定义传入,在进行格式化时,需要根据用户期望的格式按一定的顺序进行格式化,于是格式化模块需要在具体的事件通过具体的对象完成具体位置的格式化操作。原创 2024-08-05 16:54:24 · 328 阅读 · 1 评论 -
日志系统——整体框架
日志系统整体框架原创 2024-08-04 19:02:05 · 487 阅读 · 0 评论 -
日志系统——设计原则&&设计模式
模块与模块之间的交互应通过抽象类来实现,而非具体类,当项目中设计到大量类的声明并且这些类具有共同的特征时,建议使用工厂模式来实现对象的创建和使用分离,(派生于同一抽象基类的派生类创建不直接通过构造函数实例化,而是通过一个工厂对象统一实例化)**单一职责原则:**高内聚,低耦合,模块与模块之间需要最大程度地解耦合,一个模块中的属性和方法应与其处理的任务紧密相关,对于非模块本身的任务通过接口来让其他模块处理。建造者模式中涉及五个角色:抽象产品类,具体产品类,抽象建造者,具体建造者,指挥者。原创 2024-08-04 14:56:22 · 719 阅读 · 0 评论 -
日志系统——杂碎知识
代表不定参数,传入的不定参数由__VA_ARGS__进行管理,当进行宏替换时__VA_ARGS__会对fmt进行格式化后与"%s-%d" "\n"绑定形成一个字符串由printf打印。va_arg的弊端在于必须告知编译器要以什么类型进行解析参数包,相比之下vasprintf的优势更大,可以自动根据传入的参数类型进行解包。:可变参数函数通常是递归的,第一步调用包中的第一个参数,剩余参数作为一个参数包传给下一层。##的作用是当用户传入的不定参数为空时,编译器可以将##之前的,号去除避免语法错误。原创 2024-08-04 14:11:04 · 265 阅读 · 0 评论