万网域名免费注册,seo经理招聘,做移动网站,php实现网站tag标签一#xff0c;日志系统的目的
1.⽣产环境的产品为了保证其稳定性及安全性是不允许开发⼈员附加调试器去排查问题#xff0c; 可以借助⽇志系统来打印⼀些⽇志帮助开发⼈员解决问题 2.上线客⼾端的产品出现bug⽆法复现并解决#xff0c; 可以借助⽇志系统打印⽇志并上传到服…一日志系统的目的
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.C11(多线程智能指针auto右值引用等)
3.双缓冲区
4.生产消费模型
5.多线程
6.设计模式(单例工厂代理等)
总结 本文主要简单介绍一下日志系统后续也会记录项目实现感兴趣的老铁可以关注一下