springboot日志默认配置

2020-03-17 18:03:27 浏览数 (1)

代码语言:javascript复制
# application.properties 中修改日志的输出级别
# 对某个包某个类调整日志的输出级别
logging.level.com.sangyu=trace
代码语言:javascript复制
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class MySpringbootDemo03ApplicationTests {

    // 记录器
    Logger logger = LoggerFactory.getLogger(getClass()); // 注意使用slf4j包

    /**
     * 日志的级别
     * 由低到高:trace<debug<info<warn<error
     * 可以调整输出的日志级别,日志就只会在这个级别以后的高级别生效
     */
    @Test
    public void contextLoads() {
        logger.trace("这是trace日志...");
        logger.debug("这是debug日志...");
        // SpringBoot默认给我们使用的是info级别的,没有指定级别的就用SpringBoot默认规定的级别:root级别
        logger.info("这是info日志...");
        logger.warn("这是warn日志...");
        logger.error("这是error日志...");
    }
}
代码语言:javascript复制
2020-02-20 11:27:25.936 TRACE 7840 --- [           main] c.s.s.MySpringbootDemo03ApplicationTests : 这是trace日志...
2020-02-20 11:27:25.936 DEBUG 7840 --- [           main] c.s.s.MySpringbootDemo03ApplicationTests : 这是debug日志...
2020-02-20 11:27:25.936  INFO 7840 --- [           main] c.s.s.MySpringbootDemo03ApplicationTests : 这是info日志...
2020-02-20 11:27:25.937  WARN 7840 --- [           main] c.s.s.MySpringbootDemo03ApplicationTests : 这是warn日志...
2020-02-20 11:27:25.937 ERROR 7840 --- [           main] c.s.s.MySpringbootDemo03ApplicationTests : 这是error日志...

日志输出

logging.file

logging.path

Example

Description

(none)

(none)

只在控制台输出

指定文件名

(none)

my.log

输出日志到my.log文件

(none)

指定目录

/var/log

输出到指定目录的spring.log文件

代码语言:javascript复制
# application.properties 
# 不指定路径在当前项目下生成springboot.log日志
logging.file=springboot.log
代码语言:javascript复制
# application.properties 
# 在当前磁盘的根路径下创建spring文件夹和里面的log文件夹,使用spring.log作为默认文件
logging.path=/Users/aaa/Documents/spring/log

日志输出格式

代码语言:javascript复制
%d 表示日期时间
%thread 表示线程名
%-Slevel 线程从左显示5个字符宽度
%logger{50} 表示logger名字最长50个字符,否则按照句点分隔
%msg 日志消息
%n 换行符
代码语言:javascript复制
# application.properties 
# 在控制台输出的日志的格式
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n

# 指定文件中日志输出的格式
logging.pattern.file=%d{yyyy-MM-dd} === [%thread] === %-5level === %logger{50} ==== %msg%n

0 人点赞