spring boot 默认日志 springboot日志配置文件 |
您所在的位置:网站首页 › spring日志框架 › spring boot 默认日志 springboot日志配置文件 |
今天介绍一下SpringBoot配置日志文件 SpringBoot在所有的内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如Java Util Logging,Log4J,Log4J2和Logback。但是每种Logger都可以通过配置使用控制台或者文件输出日志内容。 不同的日志框架使用不同的配置文件 Logback logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy Log4j log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml Log4j2 log4j2-spring.xml, log4j2.xml JDK(Java Util Logging) logging.properties 一.SpringBoot默认日志LogbackSLF4J,是一个针对各类Java日志框架的统一Façade抽象。Java有很多的日志框架,如java.util.logging,log4j,logback,commons-logging,Spring框架使用的是Jakarta Commons Logging API(JCL)。而SLF4J定义了统一的日志抽象接口,而真正的日志实现则是在运行决定的。 Logback是log4j框架的作者开发的新一代日志框架,它能够适应诸多运行环境,支持SLF4J。 (1)默认情况下,SpringBoot底层使用SLF4J+Logback记录日志。 (2)SpringBoot也把其他日志替换成了SLF4J。 SpringBoot能够自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉。 二.日志输出的内容元素日志输出的内容元素具体如下: 时间日期:精确到毫秒 日志级别:ERROR,WARN,INFO,DEBUG,TRACE 进程ID2 分隔符:---标识实际日志的开始 线程名:方括号括起来的内容 Logger名:通常为源代码类名 日志内容 三.添加日志依赖网上给出的日志依赖为: org.springframework.boot spring-boot-starter-loggingSpring boot应用将自动使用logback作为应用日志框架,Spring Boot启动的时候,由org.springframework.boot.logging.Logging-Application-Listener根据情况初始化并使用。spring-boot-starter中包含spring-boot-starter-logging,该依赖内容就是Spring boot默认的日志框架logback。 我自己使用的依赖如下: SpringBoot的日志依赖为: org.springframework.boot spring-boot-starter-loggingSpring框架使用的是commons-logging org.springframework spring-core commons-logging commons-logging 四.控制台输出日志级别从低到高分别是TRACE logback debug %d{yyyy-MM-dd HH:mm:ss.SSS}------------> [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/web_debug.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/web-debug-%d{yyyy-MM-dd}.%i.log 100MB 15 debug ACCEPT DENY ${log.path}/web_info.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/web-info-%d{yyyy-MM-dd}.%i.log 100MB 15 info ACCEPT DENY ${log.path}/web_warn.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/web-warn-%d{yyyy-MM-dd}.%i.log 100MB 15 warn ACCEPT DENY ${log.path}/web_error.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/web-error-%d{yyyy-MM-dd}.%i.log 100MB 15 ERROR ACCEPT DENY 可以在logback.xml中配置对应的日志信息。启动程序输出内容如下: 或者配置logback-spring.xml文件,如果配置成logback-spring.xml文件,则可以使用标签。 logback-spring.xml logback debug %d{yyyy-MM-dd HH:mm:ss.SSS}------------> [%thread] %-5level %logger{50} - %msg%n UTF-8 %d{yyyy-MM-dd HH:mm:ss.SSS}================= [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/web_debug.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/web-debug-%d{yyyy-MM-dd}.%i.log 100MB 15 debug ACCEPT DENY ${log.path}/web_info.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/web-info-%d{yyyy-MM-dd}.%i.log 100MB 15 info ACCEPT DENY ${log.path}/web_warn.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/web-warn-%d{yyyy-MM-dd}.%i.log 100MB 15 warn ACCEPT DENY ${log.path}/web_error.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/web-error-%d{yyyy-MM-dd}.%i.log 100MB 15 ERROR ACCEPT DENY当在application.properties文件中配置spring.profiles.active=dev时,激活开发环境 application.properties # 应用名称 spring.application.name=logdemo # 应用服务 WEB 访问端口 server.port=8080 logging.level.com.zk.logdemo=trace #logging.file.name=zk.log #logging.file.path=D:/zk.log #logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss:SSS}----> [%thread]----> %-5level----> %logger{50}----> -%msg%n #logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss:SSS}----> [%thread]----> %-5level----> %logger{50}----> -%msg%n spring.profiles.active=dev此时运行测试例 如果未激活开发环境,去掉spring.profiles.active=dev 此时运行测试例 SpringBoot切换日志框架 4.0.0 com.zk logdemo 0.0.1-SNAPSHOT logdemo Demo project for Spring Boot 1.8 UTF-8 UTF-8 2.3.7.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-logging org.springframework.boot spring-boot-starter-log4j2 org.springframework.boot spring-boot-starter logback-core ch.qos.logback org.springframework.boot spring-boot-starter-logging org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine org.springframework.boot spring-boot-dependencies ${spring-boot.version} pom import org.apache.maven.plugins maven-compiler-plugin 3.8.1 1.8 1.8 UTF-8 org.springframework.boot spring-boot-maven-plugin 2.3.7.RELEASE com.zk.logdemo.LogdemoApplication repackage repackage排除spring-boot-starter-logging的日志框架,切换为spring-boot-starter-log4j2的日志框架 5.2配置多个logback环境我们也可以在logback-spring.xml文件中配置多个logback环境,具体logback-spring.xml配置如下: 首先将logback.xml更改命名为logback-spring.xml,需要更改文件名,否则无法识别标签。
logback-spring.xml [%-5level]---> %d{${DATETIME}}---> [%thread]---> %logger{36}---> - %m%n [%-5level]=== %d{${DATETIME}}=== [%thread]=== %logger{36}=== - %m%n [%-5level]---> %d{${DATETIME}}---> [%thread]---> %logger{36}---> - %m%n [%-5level]---> %d{${DATETIME}}---> [%thread]---> %logger{36}---> - %m%n ERROR ACCEPT DENY ${ROOT}%d/error.%i.log ${MAXHISTORY} ${FILESIZE} [%-5level]---> %d{${DATETIME}}---> [%thread]---> %logger{36}---> - %m%n WARN ACCEPT DENY ${ROOT}%d/warn.%i.log ${MAXHISTORY} ${FILESIZE} [%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n INFO ACCEPT DENY ${ROOT}%d/info.%i.log ${MAXHISTORY} ${FILESIZE} [%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n DEBUG ACCEPT DENY ${ROOT}%d/debug.%i.log ${MAXHISTORY} ${FILESIZE} [%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n TRACE ACCEPT DENY ${ROOT}%d/trace.%i.log ${MAXHISTORY} ${FILESIZE}配置多个logback环境的核心代码如下: [%-5level]---> %d{${DATETIME}}---> [%thread]---> %logger{36}---> - %m%n [%-5level]=== %d{${DATETIME}}=== [%thread]=== %logger{36}=== - %m%n [%-5level]---> %d{${DATETIME}}---> [%thread]---> %logger{36}---> - %m%n然后在application.properties配置文件中进行配置: logging.level.com.zk=debug logging.file=SpringBoot.log logging.path=/spring/log #logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %logger{50} -%msg%n #logging.pattern.file=%d{yyyy-MM-dd HH\:mm\:ss\:SSS} [%thread] %-5level %logger{50} -%msg%n spring.profiles.active=prod在logback-spring.xml中配置环境启动,启动后运行效果如下:
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |