SpringBoot slf4j日志配置,SpringBoot动态修改日志级别,日志输出配置
SpringBoot默认选用slf4j,logback 框架
通过pom.xml文件的Dependency Hierarchy视图里面可以看出
一、日志级别(LogLevel)
TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF (由低到高)
springboot默认的日志级别是info(只打印info及之后级别的信息)
1.自定义日志级别
在Spring Boot 全局配置文件(我用的是application.properties)加入
#logging.level.主配置类所在包=级别
logging.level.com.example.demo=warn # 给当前项目定义一个日志级别(warn)
运行查看结果
package com.example.demo;
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 DemoApplicationTests {
Logger logger = LoggerFactory.getLogger(DemoApplicationTests.class);
@Test
public void testLog() {
logger.trace("trace*********");
logger.debug("debug*********");
logger.info("info*********");
logger.warn("warn*********");
logger.error("error*********");
}
}
com.example.demo.DemoApplicationTests : warn*********
com.example.demo.DemoApplicationTests : error*********
二、日志信息存储到文件中
同样修改Spring Boot的全局配置文件
logging.file=springboot.log #将日志信息存储到了项目根目录下springboot.log中
logging.file=D:/springboot.log #将日志信息存储到D盘下springboot.log中
也可以存储到一个文件夹中,并且默认的文件名是spring.log
logging.path=D:/log/ #存到D盘的log文件夹下
三、常见日志显示格式
1.日志显示在console中
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
%d:日期时间
%thread:线程名
%-5level:显示日志级别,-5标识从左显示5个字符宽度
%logger{50}:设置日志长度
%msg:日志消息
%n:回车
2.日志显示在文件中
logging.pattern.file=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
3.spring官方日志格式 => 26. Logging
26. Logging
26.1. Log Format [日志的格式]
26.2. Console Output [日志的控制台输出]
26.2.1. Color-coded Output
26.3. File Output [日志的文件输出]
26.4. Log Levels [日志级别]
26.5. Log Groups [日志分组]
26.6. Custom Log Configuration [日志的个性化配置]
26.7. Logback Extensions [日志的一些拓展]
26.7.1. Profile-specific Configuration
26.7.2. Environment Properties