SpringBoot 的日志管理|学习笔记

简介: 快速学习 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 中默认的日志管理方式

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
3月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
631 5
|
9月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
2197 1
|
9月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
1071 0
|
9月前
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
868 0
|
9月前
|
Java API 开发者
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——slf4j 介绍
在软件开发中,`System.out.println()`常被用于打印信息,但大量使用会增加资源消耗。实际项目推荐使用slf4j结合logback输出日志,效率更高。Slf4j(Simple Logging Facade for Java)是一个日志门面,允许开发者通过统一方式记录日志,无需关心具体日志系统。它支持灵活切换日志实现(如log4j或logback),且具备简洁占位符和日志级别判断等优势。阿里巴巴《Java开发手册》强制要求使用slf4j,以保证日志处理方式的统一性和维护性。使用时只需通过`LoggerFactory`创建日志实例即可。
681 0
|
5月前
|
机器学习/深度学习 XML Java
【spring boot logback】日志logback格式解析
在 Spring Boot 中,Logback 是默认的日志框架,它支持灵活的日志格式配置。通过配置 logback.xml 文件,可以定义日志的输出格式、日志级别、日志文件路径等。
934 5
|
11月前
|
开发框架 运维 监控
Spring Boot中的日志框架选择
在Spring Boot开发中,日志管理至关重要。常见的日志框架有Logback、Log4j2、Java Util Logging和Slf4j。选择合适的日志框架需考虑性能、灵活性、社区支持及集成配置。本文以Logback为例,演示了如何记录不同级别的日志消息,并强调合理配置日志框架对提升系统可靠性和开发效率的重要性。
448 5
|
11月前
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
848 8
|
7月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
836 54