1. springboot日志配置
1. 默认配置
Spring Boot 采用了 slf4j+logback 的组合形式,Spring Boot也提供对JUL、log4j2、Logback提供了默认配置(这是主流)
Spring官网参考文档:https://docs.spring.io/spring-boot/docs/2.0.6.RELEASE/reference/htmlsingle/#boot-features-logging
2. 使用
- SpringBoot默认配置好了日志, 只要启动 Spring Boot 项目就会在控制台输出日志信息。
package com.mengxuegu.springboot;
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 SpringBoot03LoggingApplicationTests {
//日志记录器
Logger logger = LoggerFactory.getLogger(getClass());
@Test
public void contextLoads() {
//1. 以下日志级别,由低到高:trace < debug < info < warn < error
//2. Spring Boot默认设定的是 info 级别日志,(日志默认级别也称为root级别)。
// 可修改默认级别日志:logging.level.level=级别名
//3. 可以进行调整日志级别,设定某个级别后,就只打印设定的这个级别及后面高级别的日志信息
// 没有指定级别的就用SpringBoot默认规定的级别:root级别
//4. 可修改指定包的日志级别:
// 指定某个包下面的所有日志级别:logging.level.包名=级别名
//跟踪运行信息
logger.trace("这是 trace 日志信息!");
//调试信息
logger.debug("这是 debug 日志信息!");
//自定义信息
logger.info("这是 info 日志信息");
//警告信息:如果运行结果是不预期的值,则可以进行警告
logger.warn("这是 warn 日志信息");
//错误信息:出现异常捕获时
logger.error("这是 error 日志信息");
}
}
- 上面是默认的输出级别,这里我们设置更高的级别(一共5个级别,默认是第三个级别)
# 调整日志级别: trace < debug < info < warn < error
# com.mengxuegu包下的级别(这个是设置这个包的日志级别)(它是按照后面覆盖前面的规则,所以级别为debug)
logging.level.com.mengxuegu=trace
# 设置root级别(这里是设置整个项目的日志级别)
logging.level.root=debug
2. 修改日志默认配置
1. 在哪里修改?
- application.properties中修改日志默认配置
2. 修改日志文件生成路径
#输出到当前项目根路径下的 springboot.log 文件中
#logging.file=springboot.log
#输出到当前项目所在磁盘根路径下的 /springboot/log目录中的 spring.log 文件中,
logging.path=springboot/log
3. 修改日志输出的格式
# 日志输出格式说明:
# %d 输出日期时间,
# %thread 输出当前线程名,
# %-5level 输出日志级别,左对齐5个字符宽度
# %logger{50} 输出全类名最长50个字符,超过按照句点分割
# %msg 日志信息
# %n 换行符
# 修改控制台输出的日志格式
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
# 修改文件中输出的日志格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} >>> [%thread] >>> %-5level >>>
%logger{50} >>> %msg%n
4. 分析日志底层实现(详情可再看视频或者资料)
总结:SpringBoot中默认日志启动器为 spring-boot-starter-logging ,默认采用的是 logback
日志框架
3. 自定义日志配置
略
4. 切换日志框架
略