参考:
理论:https://blog.csdn.net/juncle113/article/details/80973547
实现:https://blog.csdn.net/weixin_44572370/article/details/107468684
参考:
https://blog.csdn.net/xiaoao20080/article/details/91285284
https://blog.csdn.net/juncle113/article/details/80973547
日志是什么
简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。
我们 Java 程序员在开发项目时都是依赖 Eclipse/ Idea 等开发工具的 Debug 调试功能来跟踪解决 Bug,在开发环境可以这么做,但项目发布到了测试、生产环境呢?你有可能会说可以使用远程调试,但实际并不能允许让你这么做。
所以,日志的作用就是在测试、生产环境没有 Debug 调试工具时开发、测试人员定位问题的手段。日志打得好,就能根据日志的轨迹快速定位并解决线上问题,反之,日志输出不好不能定位到问题不说反而会影响系统的性能。
优秀的项目都是能根据日志定位问题的,而不是在线调试,或者半天找不到有用的日志而抓狂…
常用的日志框架
如上图所示,jdk5开始就官方提供了Logging类来实现日志,但是并不好用;后来很长时间都用apache提供的commons-logging+log4j;再后来log4j的作者对log4j取长补短,重新整了一套日志框架:slf4j+logback,可以说这是日志框架的最终解决方案。
从log4j迁移到Logback的理由
- 更快的执行速度,占用更少的内存
- Logback-access模块,提供了通过HTTP访问日志的能力,是logback不可或缺的组成部分
- 自动压缩归档日志文件
- 自动清除旧的日志归档文件
- 等等
参考博客:从log4j迁移到Logback的理由
使用日志的正确姿势
TODO
远程看日志
TODO