2、为什么推荐使用slf4j作为日志接口规范?
日志实现插件可以根据需要更换Logback或其他。日志接口规范还有Commons Logging,而slf4j的出现主要因为对前者的不满意,所以slf4j是对Commons Logging的改进。这里改进主要看一点:支持带占位符的字符串。
例如:
String me = "zhangsan";
String you = "lisi";
// Commons Logging 打印日志
log.info("Hello, " + you + ". I'm " + me + ".");
// slf4j 打印日志
log.info("Hello, {}. I'm {}.", you, me);
1、log4j怎样搭配slf4j使用?
1.1 引入依赖
maven坐标为:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.13</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.13</version>
</dependency>
1.2 创建一个静态常量的日志对象
在需要打印日志的Java Bean 中,定义属性成员:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
...
...
private static final Logger logger = LoggerFactory.getLogger(getClass());
...
...
logger.info("Hello, world.")
PS: 日志对象在类的实例中一般不需要修改和多份对象,所以常用static和final修饰。
2、常用的日志框架该如何组合选择?
常用组合方式为:
1. Slf4j + Logback
2. Slf4j + Log4j
3. Commons Logging + Log4j
PS: Logback更适合搭配Slf4j,不建议搭配Commons Logging, 因为Logback与Slf4j为同一作者,兼容性更好。
最后
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
想获取个人高清面试题的可以戳这里免费领取及个人也准备了很多面试题含答案的资料供你刷!
- Java核心知识整理
Java核心知识
- Spring全家桶(实战系列)
- 其他电子书资料
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
[外链图片转存中…(img-AGhWVvdN-1629240348119)]