扩展篇
我们在 Spring Boot 中使用日志通常会这样写:
private final Logger log = LoggerFactory.getLogger(LogPrint.class);
并且每个类中都要写这样一行代码,未免有些麻烦。
此时我们可以使用 @Slf4j
注解来替代上面的那行 Logger
对象创建的代码,完整使用示例如下:
import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @Slf4j class LogTest { @Test void show() { log.debug("Hello, {}.", "Debug"); log.info("Hello, {}.", "Info"); log.error("Hello, {}.", "Error"); } }
程序的执行结果:
14:33:18.377 [main] DEBUG com.example.demo.LogTestTest - Hello, Debug.
14:33:18.382 [main] INFO com.example.demo.LogTestTest - Hello, Info.
14:33:18.382 [main] ERROR com.example.demo.LogTestTest - Hello, Error.
从上述结果可以看出,日志已经正常输出到控制台了。
注意:@Slf4j 注解属于 lombok,因此要想在项目中使用 @Slf4j 注解,需要保证项目中已经添加了 lombok 的依赖。
总结
在进行日志输出时,字符串变量之间的拼接要使用占位符的方式,因为这样写会比较优雅。我们查了 slf4j 的源码发现,占位符的底层也是通过 StringBuilder
拼接来实现的。