slf4j、log4j 和 logback 的比较
三者区别
slf4j(Simple Logging Facade for Java)是一系列的日志接口,而 log4j 和 logback 是具体实现了的日志框架。
log4j 和 logback 就是两个比较受欢迎的日志框架,但两者又不同。log4j 是 apache 实现的一个开源日志组件。logback 同样是由 log4j 的作者设计完成的,拥有更好的特性,用来取代 log4j 的一个日志框架。
为什么推荐使用占位符
一般项目里面有很多 debug 级别的日志,可以帮助我们快速定位线上问题,但是一般线上的日志级别会比较高,debug 是不会打印的,这个时候就出现了一个问题,使用拼接方式的时候会进行内存空间的开辟,但是进入日志断点后,发现并不需要进行日志打印,这部分的开销就变的没有意义,而使用占位符的时候,只有需要打印的时候才会进行拼接,减少了内存的开销,性能得到了提升。
%s:用来表示字符串类型。
%d:用来表示整数类型。
%f:用来表示浮点数类型。
%x:用来表示十六进制整数类型。
logging.error('Failed to open file %s, error message: %s', filename, errormsg)