版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Java_Glory/article/details/89634177
Spring Boot默认帮我们配置好了日志;
1.在测试类中创建一个记录器;
package com.myproject.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 SpringBootHelloworldApplicationTests {
//记录器
Logger logger = LoggerFactory.getLogger(getClass());
@Test
public void contextLoads() {
//日志级别:由低到高
//可以调整需要输出的日志级别,日志就只会在这个级别以后的高级别生效
logger.trace("trace日志-跟踪信息");
logger.debug("dubug日志-调试信息");
//Spring Boot 默认使用的是info级别的,没有指定级别的就用Spring Boot默认规定的级别:root级别
logger.info("info日志-自定义信息");
logger.warn("warn日志-警告信息");
logger.error("error日志-错误信息");
}
}
从代码和控制台可以看出,Spring Boot 默认使用的info级别的日志;
2.可以在配置文件中调整输出的日志级别:
3.logging.path和logging.file是两个冲突设置,一般使用logging.path指定目录:
logging.file | logging.path | example | description |
(none) | (none) | 只在控制台输出 | |
指定文件名 | (none) | xxx.log | 输出日志到xxx.log文件 |
(none) | 指定目录 | 文件夹/log文件夹 | 输出到指定目录的spring.log文件中 |
application.properties配置文件内容:
#com.myproject.springboot包下所有的类都是tarce级别
logging.level.com.myproject.springboot=trace
#logging.path和logging.file是两个冲突设置,一般使用logging.path指定目录
#在当前磁盘的根路径下创建spring文件夹和里面的log文件夹,使用spring.log作为默认文件
logging.path=/spring/log
#不指定路径,在当前项目下生成springboot.log日志,可以指定完成的路径
#logging.file=springboot.log
当前磁盘E盘下创建的文件夹:
4.日志输出的格式:
控制台默认输出的日志格式:
自定义日志输出格式:
%d:表示日期时间
%thread:表示线程名
%-5level:日志级别从左显示5个字符宽度
%logger{50}:表示logger名字最长50个字符,否则按照句点分割
%msg:日志消息
%n:换行符
#在控制台输出的日志的格式
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
控制台输出的格式:
文件输出的格式: