@Slf4j注解的正确使用
1、对于一个maven项目。首先要在pom.xml中加入以下依赖项:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
- slf4j就是众多接口的集合,它不负责具体的日志实现,只在编译时负责寻找合适的日志系统进行绑定。具体有哪些接口,全部都定义在slf4j-api中。
- slf4j-log4j12是链接slf4j-api和log4j中间的适配器。它实现了slf4j-apiz中StaticLoggerBinder接口,从而使得在编译时绑定的是slf4j-log4j12的getSingleton()方法
- log4j是具体的日志系统。通过slf4j-log4j12初始化Log4j,达到最终日志的输出。
- lombok:一个插件,封装了log的get和set,可以直接使用log来输出日志信息。
2、去idea官网下载插件 Lombok Plugin,导入到idea中
http://plugins.jetbrains.com/plugin/6317-lombok-plugin
3、可以在代码中像如下例子一样使用@Slf4j注解:
@Slf4j
public class ValidatorAction {
public void printValidatorResult(Set<ConstraintViolation<ValidatorBean>> set1){
for(ConstraintViolation<ValidatorBean> constraintViolation:set1){
log.info("错误: "+constraintViolation.getMessage());
log.info("字段: "+constraintViolation.getPropertyPath().toString());
}
}
}