本文主要介绍
1. Spring Boot默认日志SFL4J + LogBack的使用
2. 自定义日志输出;
3.Spring Boot替换默认日志框架
1. Spring Boot默认日志SFL4J + LogBack使用
SpringBoot项目默认已经支持SFL4J + LogBack日志的使用,无需做任何的jar导入,就可以直接操作日志接口进行日志输出。
Logger logger = LoggerFactory.getLogger(this.getClass());
logger.trace("trace-------------------"); logger.debug("debug----------------------"); logger.info("info-------------------"); logger.warn("warn-------------------"); logger.error("error-------------------");
日志隔离级别从小到大依次为:trace,debug,info,warn,error;Spring Boot的默认日志级别为Info
Spring Boot默认的日志格式为:
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n# %d{yyyy-MM-dd HH:mm:ss.SSS} 时间# %thread 线程名称# %-5level 日志级别从左显示 5 个字符宽度# %logger{50} 类名# %msg%n 日志信息加换行
源码验证:
默认级别为 INFO ; 默认日志格式见:CONSOLE_LOG_PATTERN(控制台日志格式);
FILE_LOG_PATTERN(文件日志格式)
2. 自定义日志输出;
1.指定日志级别
- 指定 com.kay包下的日志级别为debug
logging.level.com.kay=debug
2.指定文件输出格式
- 指定控制台日志输出格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
- 指定文件日志输出格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
3.指定日志输出地址 有的版本使用的是 logging.file.path=xx.log
logging.file.name=log.log
(名称可以是精确位置或相对于当前目录)
3.Spring Boot替换默认日志框架(替换具体的日志实现)
Spring Boot 提供了日志替换的 Spring Boot Starters
包含两个日志starter:
spring-boot-starter-logging(默认日志启动器);
spring-boot-starter-log4j2
可以通过使用 log4j2 替换Spring Boot默认的spring-boot-starter-logging
1. 在当前项目中排除spring-boot-starter-logging
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency>
2. 引入 spring-boot-starter-log4j2
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency>