java日志系统 @Slf4j注解的正确使用

在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来输出日志信息。

具体的使用

@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());

}

}

}

原文地址:https://www.cnblogs.com/yuanhailiang/p/8847303.html