Sringboot学习笔记(1)
一,Spring Boot 日志框架
参考文章:SpringBoot日记——日志框架篇 - 碎冰 - 博客园
1,采用SLF4J+Logback的组合。
2,SpringBoot默认是设置info级别。
3,输出在控制台的日志的输出级别,一般情况下只需要默认即可。如果需要修改这个日志输出级别,可以通过变量
logging.level.com.atguigu=trace
4,配置日志生成的路径及日志名称
我们需要指定我们需要的日志名称以及日志生成的路径,用到两个配置,都是在application.properties/yml中写,如下:(都不设置的话,不生成日志)
# 按照默认的名称spring.log,生成到指定路径及日志。 logging.path=output/logs # 不指定的情况下默认生成在项目根目录,按照配置生成所需的日志名称 logging.file=D:/ooodin.log
5,日志的格式配置
默认格式
# %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} === [%thread] == %-5level == %logger{50} == %msg%n
6,配置自定义log信息
如果想用自己的log配置,不用系统默认的,那么只需要按照官方要求,将该配置文件放在所需类的目录下即可,也可以在resource中配置全局的。
参考文章Springboot测试类之@RunWith注解 - King-DA - 博客园
在IDE中新增JunitTest类
@RunWith(SpringRunner.class) //14.版本之前用的是SpringJUnit4ClassRunner.class @SpringBootTest(classes = Application.class) //1.4版本之前用的是//@SpringApplicationConfiguration(classes = Application.class) public class SystemInfoServiceImplTest { @Autowired private ISystemInfoService systemInfoservice; @Test public void add() throws Exception { } @Test public void findAll() throws Exception { } }
主要是注解的更改,如果注解用的不对,会报各种奇怪的问题,例如applicationContext找不到,datasource实例化失败等等。
为了支持上面两个注解,maven文件中要用对依赖以及版本,我当时添加SpringRunner.class所在的依赖jar时,由于用了idea的auto-imported,IDE自动导入了版本是3.x的,实际应该导入4.x,我一直以为idea导入的是正确的,导致在这上面费时颇多,后来我手工写入就解决了。下面是正确的spring boot test的maven依赖