版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/103207865
文章目录
目前市场上主流的日志框架有:UCL、JUL、jboss-logging、logback、log4j、log4j2、slf4j 等。
而 Spring Boot 默认选用 slf4j 和 logback 日志框架。
Spring Boot 默认帮我们配置好了日志,我们直接使用即可。
Spring Boot 中也定义好了日志的级别(在 org.springframework.boot.logging.LogLevel 类中),级别从小到大依次是:TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF 。
Spring Boot 默认的日志级别是:INFO(也就是只会打印出 INFO 及之后级别的信息)
一、自定义日志级别
1、properties配置文件中定义
logging.level.主配置类所在包=warn #将日志级别修改为 warn 级别
2、yml配置文件中定义
logging:
level:
com.example.Demo: error
二、将日志信息存储到文件中
如果不指定日志文件名,则文件名默认是:spring.log。
1、properties配置文件
#logging.file=springboot.log # 存储到了项目的根目录下的 springboot.log 文件中
#logging.file=D:/springboot.log # 也可以指定 具体的日志路径
logging.path=D:/log/ # 也可以存储到一个 文件夹中,并且默认的文件名是spring.log
2、yml配置文件
#logging:
# file: springboot.log # 存储到了项目的根目录下的 springboot.log 文件中
#logging:
# file: D:/springboot.log # 也可以指定 具体的日志路径
logging:
file: D:/log/ # 也可以存储到一个 文件夹中,并且默认的文件名是spring.log
三、指定日志显示格式
日志格式 其实不用刻意去记的,只需要搞懂其中的意思就可以了。我们只需要把下列这句话记录一下,用的时候复制到项目中,稍作修改即可。
logging.pattern.console/file=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
%d{yyyy-MM-dd}
:%d
代表日期时间,{yyyy-MM-dd}
代表日期的格式%thread
:当前线程名%-5level
:显示日志级别,-5表示从左显示5个字符宽度%logger{50}
:设置日志的长度,如果大于50个字符了,只写首字母%msg
:日志消息%n
:回车
1、日志显示在控制台(console)中
我们可以对上面的代码进行修改,如下:
logging.file=springboot.log # 存储到了项目的根目录下的 springboot.log 文件中
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
-
输出效果
2019-11-22 [main] INFO com.example.Demo.DemoApplicationTests - info信息
-
分析
%d{yyyy-MM-dd}
==》2019-11-22
``[%thread]
==》
[main]`%-5level
==》INFO
``%logger{50}
==》
com.example.Demo.DemoApplicationTests`%msg
==》info信息
2、日志显示在文件(file)中
我们可以对上面的代码进行修改,如下:
logging.pattern.file=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
3、默认的日志格式
Spring Boot 也有自己 默认的日志格式 ,它在 spring-boot-X.X.X…jar 包中,它在包里 org.springframework.boot.logging.logback 类中 base.xml 和 default.xml 文件中进行了默认配置。