SpringBoot 的日志管理|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习 SpringBoot 的日志管理

开发者学堂课程【SpringBoot 实战教程 SpringBoot 的日志管理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/651/detail/10781


SpringBoot 的日志管理

 

1、SpringBoot 使用的默认日志框架是 Logback其他主流的日志框架它也支持比如 log4j 或 log4j2 以及 java.util.loggin 等并用 INFO 级别输出到控制台启动可以在控制台中看到默认都是 INFO 级别

image.png

2、注意输出日志信息的格式日志输出内容元素具体如下:

(1)时间日期:精确到亳秒

(2)日志级别: ERROR, WARN, INFO, DEBUG or TRACE

(3)进程 ID

(4)分隔符: -标识实际日志的开始

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

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

(7)日志内容

3、日志依赖:该依赖内容就是 Spring Boot 默认的日志框架 logback

<dependency>

<groupld>org.springframework. boot</groupld>

<artifactld>spring- boot-starter-logging</artifactld>

</dependency>

实际开发中我们不需要直接添加该依赖。

4、SpringBoot 的日志的级别有7个:

TRACE,DEBUG,INFO, WARNERRORFATAL,0FF

日志级别从低到高为:

TRACE < DEBUG < INFO < WARN < ERROR < FATAL< OFF。

如果设置为 WARN,则低于 WARN 的信息都不会输出。注意如果把级别设置为 INFO比它级别低的信息是不能输出的设置 INFO 级别就输出 INFO 级别或者比 INFO 级别高的信息

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

5、例如

(1)在全局配置文件application 中配置 logging. level. root 级别logging. level 是前缀#root 日志以 WARN 级别输出

logging. level. root=WARN (让日志只输出 warn 及以上级别的信息TRACE DEBUG INFO 是不能输出的)

(2)#springframework. web 日志以 DEBUG 级别输出 1bgging. level. org. springframework. web=DEBUGDEBUG 级别以上的也会输出

(3)#hibernate 日志以 ERROR 级别输出 logging. level. org. hi bernate=ERRORerror 级别以上的 fatal 和 off 都可以输出这是输出日志的级别只要在全局配置文件中配置即可

(4)默认情况下,Spring Boot 将日志输出到控制台,这些日志信息没有记录到相应的日志文件中不会写到日志文件但是在实际的生产环境下还是希望把日志写入文件中。如果要编写除控制台输出之外的日志文件,则需 application. properties 中设置 logging. file 或 logging. path 属性。

① logging. file,设置文件,可以是绝对路径,也可以是相对路径。file就是指定日志文件指定路径指定文件名可以是相对路径也可以是绝对路径如:logging. file=log/my. log (相对)或者 /1og/my. log (绝对)

② logging. path,以日志文件的路径不需要名称不需要文件名设置目录,会在该目录下默认创建 spring. log 文件,并写入日志内容logging.path=/var/log

(5)如果只配置 logging. file,会在项目的当前路径下生成一个 xxx.1og 日志文件。

(6)如果只配置 logging. path,在 /var/1og 文件夹生成一个日志文件为 spring. 1og

(7)注:二者不能同时使用,如若同时使用,则只有 logging. file 生效

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

(8)#配置日志

logging . level. root=WARn

设置 root 级别是 warn

logging.level.org. springframework. web=DEBUG

设置 org. springframework. web 级别输出 DEBUG 级别及以上

logging. file=e: \\springboot\\info. Log  

把日志信息写入日志文件绝对路径在 e 盘下springboot下写入日志文件日志文件扩展名是 log注意 info. Log 文件会自动生成不需要事先创建

logging. pattern. console=%d {yyyy/MM/ dd-HH :mm:ss}

如果想要指定日志的格式默认在控制台显示日志同时向文件中写入日志这是配置控制台写入日志的格式

[%thread] %-5level %logger- %msg%n

logging. pattern. file=%d {yvyy/ MM/ dd-HH: mm}

这是配置文件中日志的格式

[%thread] %-5level %logger- %msg%n

把这个配置拷贝到全局配置文件中resources 下 application.properties启动当前程序控制台日志可以看到输出了很多 org. springframework. web 相关的信息都是 DEBUG 级别的如果有级别比它高的同样也会输出在控制台也可以看到 info 级别的信息并不是只输出 DEBUG,DEBUG 别高的也会输出

日志文件在 e 盘-springboot 中它自动生成 info. Log 日志文件记事本打开跟控制台信息一样格式在配置文件中规定的格式大多数是 DEBUG 级别也有 info 级别这就是 springboot 中默认的日志管理方式

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
84 5
|
1月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
40 1
|
2月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
505 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
1月前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
50 1
|
2月前
|
Java Maven Spring
SpringBoot日志整合
SpringBoot日志整合
31 2
|
2月前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
207 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
2月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
274 0
|
2月前
|
SQL XML 监控
SpringBoot框架日志详解
本文详细介绍了日志系统的重要性及其在不同环境下的配置方法。日志用于记录系统运行时的问题,确保服务的可靠性。文章解释了各种日志级别(如 info、warn、error 等)的作用,并介绍了常用的日志框架如 SLF4J 和 Logback。此外,还说明了如何在 SpringBoot 中配置日志输出路径及日志级别,包括控制台输出与文件输出的具体设置方法。通过这些配置,开发者能够更好地管理和调试应用程序。
|
3月前
|
运维 NoSQL Java
SpringBoot接入轻量级分布式日志框架GrayLog技术分享
在当今的软件开发环境中,日志管理扮演着至关重要的角色,尤其是在微服务架构下,分布式日志的统一收集、分析和展示成为了开发者和运维人员必须面对的问题。GrayLog作为一个轻量级的分布式日志框架,以其简洁、高效和易部署的特性,逐渐受到广大开发者的青睐。本文将详细介绍如何在SpringBoot项目中接入GrayLog,以实现日志的集中管理和分析。
293 1
|
Java 数据库连接 API
SpringBoot | SpringBoot 是如何实现日志的?
休息日闲着无聊看了下 SpringBoot 中的日志实现,把我的理解跟大家说下。
SpringBoot | SpringBoot 是如何实现日志的?