《穿越SpringBoot 》 第三章-SpringBoot 的 配置 | 第3节- SpringBoot 的 日志管理

Spring Boot 的日志管理

前题:

借助:IntelliJ IDEAMaven构建工具,以及基于SpringBoot 2.3.4
官人如需使用 Maven 请阅读教程:Maven 构建工具的下载与安装
官人如需使用 IDEA 请阅读教程:IntelliJ IDEA

更多干货:

请阅读:《穿越SpringBoot》系列文章
请参考:Java学习资料

默认日志格式:

Spring Boot内部采用的是Commons Logging进行日志记录,但在底层为Java Util Logging、Log4J2,SpringBoot使用默认日志框架是Logback,并用INFO级别输出到控制台。
2020-10-17 10:59:23.641  INFO 8060 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-10-17 10:59:23.641  INFO 8060 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1207 ms
2020-10-17 10:59:23.891  INFO 8060 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-10-17 10:59:24.039  INFO 8060 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path '

日志输出具体元素:

时间日期:精确到毫秒,可以用于排序

日志级别:ERROR,WARN,INFO,DEBUG,TRACE

进程ID

分隔符:采用- - -标识实际日志的开始

线程名:方括号括起来(可能会截断控制台输出)

Logger名:通常使用源代码的类名

日志内容:我们输出的消息

日志输出:

SpringBoot的日志级别:TRANCE < DRBUG < INFO < WARN < ERROR <FATAL < OFF
如果设置为WARN,则低于WARN级别的不会输出。

日志配置:

application.properties 文件中定义:

在这里插入图片描述
在这里插入图片描述

#root 日志级别以WARN级别输出
#修改日志配置
#logging.level.root=trace
#logging.level.root=debug
#logging.level.root=info
#logging.level.root=warn
#logging.level.root=error
#logging.level.root=fatal
#logging.level.root=off

指定类型输出界别:com.example.boot日志以DEBUG级别输出

在这里插入图片描述

#com.example.boot日志以DEBUG级别输出
logging.level.com.example.boot=DEBUG

默认情况下:SpringBoot将日志输出到控制台,不会写到日志文件中。

如果要编写除控制台之外的日志文件,则需要在application.properties中设置logging.file或logging.path属性。

①logging.file

设置文件,可以是绝对路径,也可以是相对路径。

#相对路径
logging.file=log/my.log
#绝对路径
logging.file=/log/my.log
#把日志信息写入日志文件,会自动生成
logging.file=f:\\springboot\\info.log
#配置控制台日志显示格式
logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n
#配置文件中日志显示格式
logging.pattern.file=%d{yyyy/MM/dd-HH:mm:ss}  [%thread] %-5level %logger- %msg%n
②logging.path

设置目录,会在该目录下新建spring.log文件,并写入日志内容。

logging.path=/var/log

二者不能同时使用,如果同时使用,则只有logging.file生效。

默认情况下,日志文件大小达到10MB会切分一次,产生新的日志文件, 默认界别为:ERROR、WARN、INFO

日志颜色编码:

如果终端支持ANSI,默认情况下会给日志上个色,提高可读性,可以在配置文件中设置spring.output.ansi.enabled来改变默认值

ALWAYS: 启用ANSI颜色的输出。
DETECT : 尝试检测ANSI着色功能是否可用。
NEVER: 禁用ANSI颜色的输出。

如果想修改日志默认色值,可以通过使用%clr关键字转换。
比如想使文本变为黄色%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){yellow}。
目前支持的颜色有(blue、cyan、faint、green、magenta、red、yellow)

自定义日志配置:

由于日志在ApplicationContext之前就初始化好了,所以SpringBoot为我们提供了logging.config属性,方便我们配置自定义日志文件。默认情况它会根据日志的依赖自动加载
Logging SystemCustomization
JDK (Java Util Logging)logging.properties
Log4j2、ERRORlog4j2-spring.xml 或 log4j2.xml
Logbacklogback-spring.xml、logback-spring.groovy、logback.xml、logback.groovy

pom.xml 依赖:

<dependency>
 
    <groupId>org.springframework.boot</groupId>
 
    <artifacteId>spring-boot-starter-logging</artifacted>
 
</dependency>
但在实际开发中不需要直接添加该依赖。【有可能】 将来你导入的jar或者启动器如果它依赖的日志框架跟Spring boot默认依赖的有冲突时,找到他,如下方式排除 依赖即可。
  • <depdency>
    	<!--坐标-->
        <exclude>
        	<!--排除的坐标-->
        </exclude>
    </depdency>
    

总结:

待完善…
本教程基于最新的spring-boot-starter-parent:2.3.4RELEASE编写,目前很多大佬都写过关于SpringBoot的教程了,如有雷同,请多多包涵.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值