日志系统——简介

一,日志系统的目的

1.⽣产环境的产品为了保证其稳定性及安全性是不允许开发⼈员附加调试器去排查问题, 可以借助⽇志系统来打印⼀些⽇志帮助开发⼈员解决问题
2.上线客⼾端的产品出现bug⽆法复现并解决, 可以借助⽇志系统打印⽇志并上传到服务端帮助开发⼈员进⾏分析
3. 对于⼀些⾼频操作(如定时器、⼼跳包)在少量调试次数下可能⽆法触发我们想要的⾏为,通过断点的暂停⽅式,我们不得不重复操作⼏⼗次、上百次甚⾄更多,导致排查问题效率是⾮常低下,可以借助打印⽇志的⽅式查问题
4. 在分布式、多线程/多进程代码中, 出现bug⽐较难以定位, 可以借助⽇志系统打印log帮助定位
bug
5.帮助⾸次接触项⽬代码的新开发⼈员理解代码的运⾏流程

二,实现功能

1.支持多级别日志消息

根据日志消息的威胁程度进行分级输出,例如警告日志,错误日志等

2.支持同步日志和异步日志

同步指的是由主线程来输出,异步是由其他工作线程来输出

3. 支持可靠写入日志到控制台,文件以及滚动文件

指的是将日志消息进行标准输出,或者写到一个文件里,或者按日期分文件写入

4.支持多线程程序并发写日志

我们会确保日志系统是线程安全的,因此也支持多线程程序并发写日志

5.支持拓展不同的日志落地目标地

可以应用各种场景

三,开发环境

1.CentOS 7

2.vscode/vim

3.g++/gdb

4.Makefile

四,核心技术

1.类层次设计(继承和多态的应用)

2.C++11(多线程,智能指针,auto,右值引用等)

3.双缓冲区

4.生产消费模型

5.多线程

6.设计模式(单例,工厂,代理等)

总结

本文主要简单介绍一下日志系统,后续也会记录项目实现,感兴趣的老铁可以关注一下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值