springboot框架在企业中的使用越来越普遍,springboot日志也是开发中常用的日志系统。springboot默认就是使用SLF4J作为日志门面,logback作为日志实现来记录日志。
springboot中的日志
- <dependency>
- <artifactId>spring-boot-starter-loggingartifactId>
- <groupId>org.springframework.bootgroupId>
- dependency>
依赖关系图:

总结:
- @SpringBootTest
- class SpringbootLogApplicationTests {
-
- // 声明日志记录器对象
- public static final Logger LOGGER = LoggerFactory.getLogger(SpringbootLogApplicationTests.class);
-
-
- @Test
- void contextLoads() {
- // 打印日志信息
- LOGGER.error("error");
- LOGGER.warn("warn");
- LOGGER.info("info"); // 默认日志级别
- LOGGER.debug("debug");
- LOGGER.trace("trace");
-
- // 使用log4j2 使用桥接器切换为 slf4j 门面和 logback 日志实现
- org.apache.logging.log4j.Logger logger = LogManager.getLogger(SpringbootLogApplicationTests.class);
- logger.info("log4j2 info");
-
- }
- }
- # 指定自定义 logger 对象日志级别
- logging.level.com.itheima=trace
-
- # 指定控制台输出消息格式
- logging.pattern.console=[%-5level] %d{yyyy-MM-dd HH:mm:ss} %c [%thread]===== %msg %n
-
- # 指定存放日志文件的具体路径,这个已过时了
- # logging.file=/logs/springboot.log
-
- # 指定日志文件存放的目录,默认的文件名 spring.log
- # 这个不能与上面file同时使用
- logging.file.path=/logs/springboot/
-
-
- # 指定日志文件消息格式
- logging.pattern.file=[%-5level] %d{yyyy-MM-dd HH:mm:ss} %c [%thread]===== %msg %n
-
- # 指定项目使用的具体环境
- spring.profiles.active=pro
给类路径下放上每个日志框架自己的配置文件;SpringBoot就不使用默认配置的了
| 日志框架 | 配置文件 |
| Logback | logback-spring.xml , logback.xml |
| Log4j2 | log4j2-spring.xml , log4j2.xml |
| JUL | logging.properties |
logback.xml:直接就被日志框架识别了
logback-spring.xml:由SpringBoot解析日志配置
- <configuration>
-
- <property name="pattern" value="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %c %M %L [%thread] -------- %m %n">property>
-
-
- <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-
- <target>System.errtarget>
-
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-
- <springProfile name="dev">
- <pattern>${pattern}pattern>
- springProfile>
-
- <springProfile name="pro">
- <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %c %M %L [%thread] xxxxxxxx %m %npattern>
- springProfile>
- encoder>
- appender>
-
-
-
-
- <logger name="com.itheima" level="info" additivity="false">
- <appender-ref ref="console"/>
- logger>
- configuration>
application.properties,配置指定那种生产环境
- # 指定环境为开发环境,这时候我们在xml定义的日志格式则会启动开发环境定义
- spring.profiles.active=dev
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- <exclusions>
-
- <exclusion>
- <artifactId>spring-boot-starter-loggingartifactId>
- <groupId>org.springframework.bootgroupId>
- exclusion>
- exclusions>
- dependency>
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-log4j2artifactId>
- dependency>