JJSwiftLog原理

本文详细介绍了JJSwiftLog的设计理念和实现,包括其解决的问题、架构位置、日志性能优化、稳定性保证以及安全性措施。在性能方面,讨论了不同日志输出方式如Console和File,并选择了stdout, stderr来实现控制台输出。在安全性方面,提出了加密策略以保护数据。此外,文章还提到了未来可能的扩展功能,如日志分片和回捞。" 129791486,8518033,Pandas DataFrame详解:创建与基本操作,"['python', '数据分析', 'pandas', 'DataFrame']
摘要由CSDN通过智能技术生成

JJSwiftLog设计文档

在开发这个库的时候,我们要给它设定一个目标,这个日志库给我们解决什么问题,为什么需要一个日志库来辅助我们开发,以及日志库的价值是什么,我总结的以下几个点:

  • 调试开发

开发阶段输出辅助开发的重要信息,帮助快速定位信息,提高查找问题的效率,同时也要展示重要信息

  • 排除线上问题

日志会记录重要路径的信息,以及记录各类错误信息,排查问题除了debug之外的有效手段

  • 记录重要信息

各个业务都会记录重要信息给日志,让日志库保存到我们想保存的位置,方便我们查看和分析

问题

日志库需要注意的问题:

  • I/O和CPU的占有率问题,尽可能的减少对系统的影响,让接入方对这点没有顾虑

  • 性能问题,作为日志库不希望影响整体app的流畅度,能快速处理所有情况,这个是对日志库的基本要求

  • 稳定性,这也是日志库的基本要求

  • 安全性,本地存储或者网络存储需要注意的问题,来保证信息不被泄露和篡改

架构位置和冗余设计

日志应该是最基础的库之一,应该是最底层的库,供底层和业务服务,从层次来说应该再最下面,当然如果有些库想不依赖的特殊情况除外,因为下面会提到安全和网络这块,我的理解是这块可能需要我们通过冗余的设计来解决依赖的问题,来保证日志库的内聚,尽量减少外部耦合,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值