1、什么是日志
能够描述系统运行状态的所有时间都可以算作日志,如用户下线、接口超时、数据库崩溃
2、日志框架
一套能够实现日志输出的工具包
3、System.out为什么不能来做日志输出
只能输入到控制台,不够灵活
4、日志功能
定制输出目标(数据库、文件)、定制输出格式、携带上下文信息、运行时选择性输出、灵活的配置、优异的性能
5、常见日志框架
日志门面:JCL、jboss-logging、SLF4j
日志实现:JUL、Log4j、Log4j2、Logback
最佳组合:SLF4J+Logback
6、springboot日志配置有两种方式
application.yml配置或者logback-spring.xml配置(此方法更灵活,可进行复杂配置,实际生产中用此方法配置)
================================================================================================================
application.yml配置
引入依赖有(spring-boot不加此依赖也可以):
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.1.6</version>
</dependency>
application.yml中写入如下配置信息:
指定log格式,log文件路径
logging:
pattern:
console: "%d - %msg%n"
#path: log/log #指定log路径,默认文件名为spring.log
file: log/sell.log #指定log文件名
level:
com.imooc.LoggerTest: debug #指定某个类的日志级别
踩坑:配置文件application.yml重新命名,但没有指定配置文件的名字,导致读不出配置信息,通过修改如下信息来改变配置文件。如自定义配置文件名为myconfig.yml,
则将Environment variables改为如下
7、spring配置文件(引自https://www.cnblogs.com/liduchang/p/12062066.html)
在SpringBoot项目中的配置文件的格式有两种properties和yml,文件的位置如下(优先级由高到低,这里解释一下优先级的意思就是,在项目加载jvm的时候会优先加载哪个位置的配置文件):
- 当前项目根目录下的 config 目录下
- 当前项目的根目录下
- resources 目录下的 config 目录下
- resources 目录下
-
=======================================================================================================================
- 另外除了SpringBoot给我们默认配的配置文件的位置,
- 我们也可以自己指定配置文件的位置。如图所示,即为在项目的resources目录下创建一个myconfig目录,然后把application.properties文件放在这个目录下