Spring Boot 默认使用Logback记录日志

Spring Boot starter 都会默认引入spring-boot-starter-logging,不需要再引入

日志级别从高到低:TRACE < DEBUG < INFO < WARN < ERROR < FATAL

如果设置为 WARN ,则低于 WARN 的信息都不会输出。

Spring Boot中默认配置ERROR、WARN和INFO级别的日志输出到控制台。

2019-08-20 10:42:03.680 INFO 13728 --- [ main] com.example.demo.DemoApplication : Starting DemoApplication on hkgi-PC with PID 13728 (E:\java\demo\target\classes started by Administrator in E:\java\demo)2019-08-20 10:42:03.683 INFO 13728 --- [ main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default2019-08-20 10:42:04.279 INFO 13728 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.2019-08-20 10:42:04.336 INFO 13728 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 51ms. Found 1 repository interfaces.2019-08-20 10:42:04.617 INFO 13728 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$58c4426d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)2019-08-20 10:42:04.899 INFO 13728 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)

A.日期和时间--精确到毫秒,并按照时间进行简单的排序

B.日志级别--ERROR,WARN,INFO,DEBUG,TRACE

C.进程ID号

D.日志内容,用"---"分隔符分开

E.线程名字——括在方括号中F.日志的名字--通常对应的是类名

说明:

  Logback没有FATAL级别,映射到ERROR

配置

(1)在application.properties中添加对应的配置

  指定包下日志输出的等级,root表示默认的级别

logging.level.root= WARN

logging.level.org.springframework.web= INFO

logging.level.org.hibernate = ERROR

logging.level.org.apache = INFO

  输出样式

logging.level.root= WARN

logging.level.org.springframework.web= INFO

logging.level.org.hibernate = ERROR

logging.level.org.apache = INFO

logging.pattern.console= %d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n

 

  设置文本的颜色

logging.level.root= WARN

logging.level.org.springframework.web= INFO

logging.level.org.hibernate = ERROR

logging.level.org.apache = INFO

#检测终端是否支持ANSI,是的话就采用彩色输出

spring.output.ansi.enabled=detect

logging.pattern.console= %clr(%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n){blue}

  输出到文件

logging.level.root= WARN

logging.level.org.springframework.web= INFO

logging.level.org.hibernate = ERROR

logging.level.org.apache = INFO

logging.pattern.console= %d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n

logging.path = logs

logging.pattern.file= %d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n

## 当文件超过1G时,归档压缩

logging.file.max-size=1GB

## 日志文件最多保存3天

logging.file.max-history=3

(2)使用XML配置Logback

还是有很多高级特性不太好配置,因此SpringBoot还是支持通过加载logback-spring.xml配置文件来定义日志相关的参数

在src/main/resources下创建logback-spring.xml文件

info

${CONSOLE_LOG_PATTERN}

UTF-8

${log.path}/debug.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

UTF-8

${log.path}/debug-%d{yyyy-MM-dd}.%i.log

100MB

15

debug

ACCEPT

DENY

${log.path}/info.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

UTF-8

${log.path}/info-%d{yyyy-MM-dd}.%i.log

100MB

15

info

ACCEPT

DENY

${log.path}/warn.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

UTF-8

${log.path}/warn-%d{yyyy-MM-dd}.%i.log

100MB

15

warn

ACCEPT

DENY

${log.path}/error.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

UTF-8

${log.path}/error-%d{yyyy-MM-dd}.%i.log

100MB

15

ERROR

ACCEPT

DENY

说明:

  使用springProfile 分别配置了开发(dev),生产(prod)环境

  springProfile 如何指定?

  application.properties中添加配置项

spring.profiles.active: dev

  表示默认加载的就是开发环境的配置

  创建不同环境下的配置文件(可以为不同的环境配置不同的数据库信息)

  开发环境 : application-dev.properties

  生产环境:application-prod.properties

  启动应用时Spring Boot通过applcation.properties文件中的spring.profiles.active配置项加载相关环境的配置信息

  还可以通过启动命令加参数  --spring.profiles.active=xxx来控制加载哪个环境的配置

  eg:java -jar test.jar --spring.profiles.active=dev 

推荐文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。