优雅的在Java程序中打印日志
问题来源
问题来源:来源于一次agent机器的磁盘空间报警,追查的过程中发现是日志的锅(业务使用的过程中不规范,我们本身没有兜底的日志策略,错误日志打印的太多,撑死了磁盘)
兜底策略——限制日志大小上限,采用滚动写日志的方法解决这个问题
第一部分:常用的日志框架
Log4j & Log4j 2
这两个项目都是apache基金会的项目,都是用于日志服务而后者是前者的升级(其实基本上算是重写了),在官网上,声称有如下的性质:独立的API、更好的性能、可以自动获取最新配置、支持lambda 表达式等。通过这个开源工具我们可以控制日志的级别、格式以及将日志输出到控制台、文件等不同地方。
Logback
这个项目和Log4j是同一个作者,logback设计分为logback-core, logback-classic logback-access三个模块,其中core模块是基础,logback-classic是实现了SLF4J的API(SLF4J是什么在下一部分介绍),最后的acess模块,顾名思义,给日志提供了基于servlet的访问方式,使用的话,直接在maven中配置即可
<depende