【spring boot logback】日志logback格式解析

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 在 Spring Boot 中,Logback 是默认的日志框架,它支持灵活的日志格式配置。通过配置 logback.xml 文件,可以定义日志的输出格式、日志级别、日志文件路径等。

一、Logback 日志格式解析

Logback 的格式化输出通过 PatternLayout 实现,通常在 logback.xml 文件中配置。其常用的日志格式由 %符号 开头,后面跟随格式化参数。

🧩 常见的 Logback 格式符

格式符 说明 示例
%d{yyyy-MM-dd HH:mm:ss} 输出日志的时间戳,支持自定义格式 2025-07-19 10:30:00
%level 输出日志级别,如 INFO, DEBUG, ERROR INFO
%logger 输出日志记录器的名称,通常是类名 com.example.demo.MyClass
%thread 输出日志的线程名称 main
%msg 输出日志消息 This is a log message.
%M 输出方法名 methodName
%line 输出日志的行号 42
%n 输出换行符(通常是 \n) \n
%exception 输出异常堆栈跟踪 java.lang.NullPointerException
📜 二、Logback 配置文件(logback.xml)示例

Logback 配置通常放在项目的 src/main/resources 文件夹下,命名为 logback.xml。以下是一个基础的配置示例:











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




logs/application.log


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



php
746 Bytes
© 菜鸟-创作你的创作
📌 解析:

:设置根日志级别为 INFO,表示 INFO 及更高级别的日志(如 WARN, ERROR)会被输出。

:将日志输出到控制台。

:将日志输出到文件。

:定义日志输出格式:
%d{yyyy-MM-dd HH:mm:ss}:时间戳,格式为 yyyy-MM-dd HH:mm:ss。
%thread:线程名。
%-5level:日志级别,宽度为5。
%logger{36}:记录器名(通常是类名),限制长度为36字符。
%msg:日志消息。
%n:换行符。
🧳 三、常见配置项解释

  1. 日志输出级别

TRACE:最低的日志级别,记录非常详细的信息,用于追踪程序执行过程。
DEBUG:开发环境下调试使用,记录调试信息。
INFO:常规日志,记录应用程序的运行状态,适用于正常运行时的日志。
WARN:警告信息,记录可能会导致错误的潜在问题。
ERROR:错误日志,记录程序出现问题时的信息。

  1. 输出到控制台与文件

ConsoleAppender:输出日志到控制台,适用于开发环境。
FileAppender:输出日志到文件,适用于生产环境。



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


logs/application.log

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


php
436 Bytes
© 菜鸟-创作你的创作

  1. 日志文件分割(RollingFileAppender)

当日志文件过大时,可以使用 RollingFileAppender 来控制日志文件的大小和切割,定期生成新日志文件。


logs/application.log

logs/application.%i.log
1
10


10MB


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


php
632 Bytes
© 菜鸟-创作你的创作

  1. 日志异步输出(AsyncAppender)

如果日志输出较为频繁,可以使用 AsyncAppender 进行异步输出,减少对应用性能的影响。




php
111 Bytes
© 菜鸟-创作你的创作
💡 四、Spring Boot 集成 Logback

在 Spring Boot 项目中,Logback 的配置文件通常是 logback-spring.xml 或 logback.xml,位于 src/main/resources 目录下。如果你想在 Spring Boot 中使用自定义 Logback 配置,可以按如下方式:

logback-spring.xml 示例


<!-- 日志输出到控制台 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>
<!-- 日志输出到文件 -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${LOGS}/spring-boot.log</file>
    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>
<!-- 根日志级别为 INFO -->
<root level="INFO">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
</root>


php
745 Bytes
© 菜鸟-创作你的创作
需要注意的是,logback-spring.xml 文件允许在 Spring Boot 配置文件中读取 ${LOGS} 等变量,以便在不同环境下动态控制日志路径。
📜 五、更多 Logback 配置技巧

日志条件输出(Marker)通过 Marker 可以为日志添加标签,例如:@Loggable 或 @Debuggable。
日志文件切割(Log Rotation)设置最大日志文件大小和备份文件数量,避免单个日志文件过大。 logs/myapp.%d{yyyy-MM-dd}.log 10MB
🔚 总结

Logback 的配置通过 XML 文件进行管理,使用 % 格式符进行日志格式化配置。你可以根据项目需求设置不同的输出方式(控制台、文件、异步等),并且支持多种配置如日志文件切割、日志级别控制等。Spring Boot 集成 Logback 后,配置文件位于 src/main/resources,并且可以灵活自定义。

如果有任何具体问题,如如何配置日志文件大小或根据日志级别调整输出,可以进一步提供帮助!
https://www.52runoob.com/archives/4096

目录
相关文章
|
6月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
1514 1
|
XML Java 数据格式
【二十九】springboot整合logback实现日志管理
【二十九】springboot整合logback实现日志管理
400 1
|
Java API Apache
springboot 日志配置(logback)(一)
springboot 日志配置(logback)
985 0
|
2月前
|
移动开发 监控 开发者
webuploader上传插件源代码重点难点分析
WebUploader 是一个基于 HTML5 的文件上传插件,提供了多种功能和交互方式,支持拖拽、选择文件、分片上传、图片预览、上传进度等特性。它兼容主流浏览器,并且能够应对复杂的上传需求,如大文件上传和断点续传。 在分析 WebUploader 的源代码时,重点可以放在文件上传的核心功能、事件管理、拖拽上传、进度显示、分片上传的实现方式等方面。 以下是对 WebUploader 源代码的重点和难点的分析。
156 4
|
XML Java Maven
logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息
这篇文章详细介绍了如何在Spring Boot项目中使用logback进行日志记录,包括Maven依赖配置、logback配置文件的编写,以及实现的日志持久化和控制台输出效果。
logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息
|
6月前
|
NoSQL Java API
微服务——SpringBoot使用归纳——Spring Boot 中集成Redis——Spring Boot 集成 Redis
本文介绍了在Spring Boot中集成Redis的方法,包括依赖导入、Redis配置及常用API的使用。通过导入`spring-boot-starter-data-redis`依赖和配置`application.yml`文件,可轻松实现Redis集成。文中详细讲解了StringRedisTemplate的使用,适用于字符串操作,并结合FastJSON将实体类转换为JSON存储。还展示了Redis的string、hash和list类型的操作示例。最后总结了Redis在缓存和高并发场景中的应用价值,并提供课程源代码下载链接。
1618 0
|
11月前
|
存储 算法 安全
SpringBoot 接口加密解密实现
【10月更文挑战第18天】
|
10月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
245 1
|
11月前
|
Java Maven Spring
SpringBoot日志整合
SpringBoot日志整合
177 2
|
XML Java API
Java日志通关(四) - Logback 介绍
作者日常在与其他同学合作时,经常发现不合理的日志配置以及五花八门的日志记录方式,后续作者打算在团队内做一次Java日志的分享,本文是整理出的系列文章第四篇。

热门文章

最新文章