在测试类中测试日志输出
@RunWith(SpringRunner.class)
@SpringBootTest
public class LoggerTest {
public final Logger logger = LoggerFactory.getLogger(LoggerTest.class);
@Test
public void test1() {
logger.debug("debug...");
logger.info("info...");
logger.error("error...");
}
}
运行测试方法,输出结果:
2020-03-02 08:34:35.981 INFO 2975 --- [ main] com.liujx.jxsupermarket.LoggerTest : info....................................
2020-03-02 08:34:35.981 ERROR 2975 --- [ main] com.liujx.jxsupermarket.LoggerTest : error....................................
发现,debug方法的内容没有输出。这是因为系统默认的日志级别是info级别,低于info级别的日志信息,系统默认不输出。
日志的5个级别
command+o搜索level,选择org.slf4j.event.Level类,可以看到枚举类中定义了日志中的5个级别,从高到低为:
ERROR(40, "ERROR"),
WARN(30, "WARN"),
INFO(20, "INFO"),
DEBUG(10, "DEBUG"),
TRACE(0, "TRACE");
使用lombok中的@Slf4j注解
使用lombok,要引入依赖。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
使用@Slf4j,每次就不用再创建logger对象了。用法如下:
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class LoggerTest {
@Test
public void test1() {
log.debug("debug...");
log.info("info...");
log.error("error...");
}
}
在日志中输出变量
字符串拼接的方式和使用占位符的方式输出变量。
@Test
public void test1() {
String name = "liujx";
String password = "123";
log.debug("debug...");