目录
一、应用日志的配置
SpringBoot采用Logback作为默认日志处理框架,应用中对Java Util Logging, Commons Logging, Log4J, 或SLF4J的调用,最终都会路由到由Logback处理
1、使用Logback的配置方式
如果是在web环境中使用,maven配置如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.7.RELEASE</version>
</dependency>
如果是直接使用,则:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
<version>2.1.7.RELEASE</version>
</dependency>
此时,在application.properties中可以配置:
logging.level.root=info
logging.pattern.console=%date{ISO8601} %level %logger{20}.%M %L :%m%n
logging.pattern.file=%date{ISO8601} %level %logger{20}.%M %L :%m%n
logging.file=/var/log/app/app.log
在classpath下默认读取的logback配置文件有:
- logback-spring.xml
- logback-spring.groovy
- logback.xml
- logback.groovy
2、使用SLF4J+Log4J2作为底层日志处理框架
maven配置如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.7.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<version>2.1.7.RELEASE</version>
</dependency>
同时,会在classpath下默认读取log4j2的如下配置文件:
- log4j2-spring.xml
- log4j2.xml
log4j2的配置文件名不为以上两种情况,或者配置文件不在classpath下,则可以在application.properties中使用:
logging.config=classpath:conf/log4j2.xml
application.properties中其它配置:
logging.level.root=INFO
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%T](%c.%M:%L) ~ %m%xEx%n
二、服务器日志的配置
下面以tomcat为例:
# tomcat
server.tomcat.basedir=D:/Temp/tomcat
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%{yyyy/MM/dd HH:mm:ss,SSS}t %a “%r” %s (%D ms)
参考文档
Spring Boot Logging(23. Logging)
Spring Boot Logging(83. Logging)
Spring Boot Logging(78.11 Configure Access Logging)
Appendix A. Common application properties
Logging with Spring Boot – Logback, SLF4j and LOG4j2