Spring Boot默认使用LogBack日志系统,如果不需要更改为其他日志系统如Log4j2等,则无需多余的配置。
要使用LogBack,原则上是需要添加dependency依赖的。但因为新建的Spring Boot项目一般都会引用spring-boot-starter或者spring-boot-starter-web,而这两个起步依赖中都已经包含了对于spring-boot-starter-logging的依赖,所以,无需额外添加依赖。
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
日志设置
日志的相关设置可以写在application中,也可以单独写在配置文件中,后面出现的设置会覆盖前面的设置。
SpringBoot的日志系统默认将日志打印到控制台上。如果需要输出到文件中,需要对logging.path和logging.file进行修改。
logging.path=/Users/jackie/workspace/rome/ #该属性用来配置日志文件的路径
logging.file=springbootdemo.log #该属性用来配置日志文件名
格式的设置是通过pattern来实现的。console用来设置控制台输出格式。file用来设置文件输出格式。
logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n
logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n
%d 指时间,后面的{yyyy/MM/dd-HH:mm:ss}用来指定格式。
%thread 指线程编号
%level 指日志等级。%-5level中的“5”表示只保留5个字符,“-”表示左对齐
%logger 指日志输出者的名字
%msg 日志消息
%n 表示换行符
注意:在yml文件中,%会引起错误。一般会使用双引号把内容括起来。
#日志相关的配置
logging:
#文件存放
file:
name: log.log #名称
path: / #路径
pattern:
console: "%d{yyyy-MM-dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n"
file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger- %msg%n"
更换日志模块
如果换成其他的模块,如log4j2。需要在依赖中先剔除掉默认的LogBack模块,再添加log4j2模块。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<!--或者是这个spring-boot-starter-log4j-->
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
添加完log4j2模块后,还需要添加log4j2的配置文件,一般放到resources里面。做好配置文件后,需要在application.yml文件中指定配置文件。同样的LogBack也可以把一些设置写到配置文件中,然后指定配置文件。这样能减少application里面的代码量。
logging.config=classpath:log4j2.xml
注意:
- 如果没有设置logging.config节点,且配置文件的名称是log4j2-spring.xml,也会自动加载的。
来源:CSDN
作者:tuolingss
链接:https://blog.csdn.net/tuolingss/article/details/104061396