首页 > 编程语言 > 详细

C++简易日志库

时间:2020-07-18 14:27:49      阅读:60      评论:0      收藏:0      [点我收藏+]

学习C++已经很久了,一直不知道该用来做些什么。前几天看到了sylar的C++高性能服务器的视频,自己也就用C++写了一个简易的日志库。

功能要求

graph LR A[Log功能框图] A --> B[可输出基本的日志信息] A --> C[可修改日志输出方式] A --> D[可以多种方式同时输出日志信息] A --> E[可设置日志输出的格式]
graph LR A[Log分类] A --> B[日志类型] B --> B1[异常日志] B --> B2[业务日志] B --> B3[性能日志] A --> C[日志级别] C --> C1[错误日志] C --> C2[警告日志] C --> C3[通知日志] C --> C4[调试日志] C --> C5[跟踪日志] A --> D[日志格式] D --> D1[可设置] A --> E[日志输出方式] E --> E1[控制台] E --> E2[日志文件] E --> E3[其他设备]

实现

运行环境:Ubuntu20

系统一共实现了三个类——FORMAT、APPENDER、LOG
FORMAT:主要负责日志数据的格式化,可自定义格式化信息
APPENDER:主要负责日志数据输出到具体的目标地,可自定义输出方式
LOG:整个日志系统的实现类

整个系统采用了双缓冲的方案,实现了了前后端的分离,降低了系统耦合性。
采用了多线程的方式来对日志数据进行更新,当缓冲区满时会自动更新数据。为了保证数据的实时性,每隔3S也会自动更新缓冲区的数据。

由于个人时间和能力的原因,这个库还有很多不完善和待优化的地方,望大家指出改正。

源代码

C++简易日志库

原文:https://www.cnblogs.com/xiao--ge/p/13334670.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!