Logback日志框架配置实战指南

Logback的使用 logger.error("日志输出,ERROR日志---{}", output);logger.warn ("日志输出,WARN 日志---{}", output);logger.info ("日志输出,INFO 日志---{}", output);logger.debug("日志输出,DEBUG日志---{}", output);logger.trace("日志输出,TRACE日志---{}", output); 阅读详情

Logback作为Java主流日志框架,其常规配置主要通过XML文件实现,核心组件包括Appender(输出端)、Logger(记录器)和Layout(格式)。以下是关键配置要点及示例:


⚙️ 一、配置文件基础

  1. 命名规则
    配置文件需命名为 logback.xml 或 logback-spring.xml(Spring项目专用),放置在 src/main/resources 目录下。Logback会自动识别这8种命名格式。

  2. 基本结构

    <configuration scan="true" scanPeriod="30 seconds">
      <!-- 定义变量 -->
      <property name="LOG_HOME" value="./logs" />
      
      <!-- Appender配置 -->
      <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">...</appender>
      
      <!-- Logger级别设置 -->
      <logger name="com.example.controller" level="DEBUG" />
      
      <!-- 根Logger -->
      <root level="INFO">
        <appender-ref ref="CONSOLE" />
      </root>
    </configuration>
    
    • scan:自动重载配置(生产环境建议关闭)。
    • property:定义全局变量(如日志路径)。

📤 二、Appender配置详解

1. 控制台输出(ConsoleAppender)
<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>
    <charset>UTF-8</charset>
  </encoder>
</appender>
  • pattern:日志格式模板(%msg为日志内容,%n换行)。
2. 文件滚动记录(RollingFileAppender)
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  <file>${LOG_HOME}/app.log</file>
  <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
    <fileNamePattern>${LOG_HOME}/app.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
    <maxFileSize>50MB</maxFileSize>  <!-- 单个文件上限 -->
    <maxHistory>7</maxHistory>       <!-- 保留7天日志 -->
    <totalSizeCap>2GB</totalSizeCap> <!-- 总量限制 -->
  </rollingPolicy>
  <encoder>
    <pattern>%d{ISO8601} [%thread] %level %logger - %msg%n</pattern>
  </encoder>
</appender>
  • 按日期+序号分割文件(如 app.2023-10-01.0.log.gz)。
  • 支持按大小(maxFileSize)和时间(maxHistory)滚动。

📊 三、日志级别控制

  1. 级别优先级
    TRACE < DEBUG < INFO < WARN < ERROR ,设置某一级别后,更高级别的日志自动生效。

    • 示例:<root level="INFO"> 会输出 INFO、WARN、ERROR 日志。
  2. 包/类级别定制
    通过 <logger> 为特定包或类设置独立级别:

    <logger name="org.springframework" level="WARN" />  <!-- 仅输出WARN及以上 -->
    <logger name="com.example.service" level="DEBUG" /> <!-- 调试阶段更详细 -->
    

四、日志格式定制

  1. 常用占位符

    符号说明
    %d日期时间
    %thread线程名
    %-5level左对齐的日志级别
    %logger{36}缩写类名(最长36字符)
    %msg日志内容
  2. 彩色输出(Spring Boot)
    使用 %highlight 或 %clr 实现控制台彩色日志:

    <pattern>%d{yyyy-MM-dd} %highlight(%-5level) %cyan(%logger) - %msg%n</pattern>
    

🌱 五、Spring Boot集成建议

  1. 简化配置
    在 application.yml 中快速配置基础项:

    logging:
      level:
        root: info
        com.example: debug
      file:
        path: /var/log/myapp
      pattern:
        console: "%d %-5level [%thread] %logger{15} - %msg%n"
    
    • 复杂需求仍需 logback-spring.xml。
  2. 多环境配置
    使用 <springProfile> 区分环境:

    <springProfile name="dev">
      <root level="DEBUG" />
    </springProfile>
    <springProfile name="prod">
      <root level="INFO" />
    </springProfile>
    

💎 最佳实践总结

  • 生产环境配置:关闭 scan 避免性能损耗,启用日志滚动防止磁盘占满。
  • 敏感信息过滤:避免在日志中输出密码等敏感数据(可通过自定义 Converter 实现)。
  • 异步日志:对高并发场景,使用 AsyncAppender 提升性能(需引入额外依赖)。
logback-spring.xml详解 对于xml日志文件的配置,大多数人第一次接触时有一种望而生畏的感觉,其实如果仔细分析,会发现核心的部分只有三个元素:appender、logger、root。 阅读详情

相关推荐

Spring Boot - 日志文件配置,logback 配置(超详细)

我们的Java程序在IDEA中执行完后,都会编译生成一个target文件,这个文件就是项目最终执行的代码(去掉注释等一系列工作后的文件),那么想要知道lombok的实现原理,就需要去观察这个文件~在生产环境下需要将日志信息保留下来,便于出现问题以后容易追溯问题,将日志保存下来这个活动叫做日志持久化。我们只需要在配置文件中指定日志的存储目录或者是指定日志保存文件名即可,如下。Ps:在没有指定文件名两次保存或者指定相同文件名进行两次保存的情况下,Ps:logger 对象是属于 org.slf4j 包下!

CYK_byte的博客 1万+

logback日志配置和自定义日志参数

logback日志配置和自定义日志参数

weixin_44519839的博客 2531

日志框架Logback核心Jar包与XML配置实战详解

Logback 是由 log4j 创始人 Ceki Gülcü 设计的现代 Java 日志框架,作为 SLF4J 的原生实现,具备高性能、低开销和灵活扩展等核心优势。其模块化设计(logback-core、logback-classic、logback-access)支持日志门面与实现分离,天然集成 SLF4J,广泛应用于企业级服务与微服务架构中。

weixin_42576410的博客 543

logback 日志 介绍和配置详解

logback介绍和配置详解 logback是Java的开源框架,性能比log4j要好。是springboot自带的日志框架。该框架主要有3个模块: logback-core:核心代码块(不介绍) log back-classic:实现了slf4j的api,加入该依赖可以实现log4j的api。 log back-access:访问模块与servlet容器集成提供通过http来访问日志的功能(也就是说不需要访问服务器,直接在网页上就可以访问日志文件)。 一、logback的使用 引入maven依

qq_30436011的博客 9745

PX4 磁罗盘干扰分析

无人机上的电机电流会干扰无人机上搭载的磁罗盘,PX4官方提供了一些方式,通过分析飞行日志,判断电机是否对磁罗盘有严重影响。

Zecet的博客 3358

借助OSS搭建在线教育视频课程分享网站-阿里云的课程体验和记录

阿里云的《搭建在线教育网站》免费课程里面讲的啥,我点进去看了看

LegendNoTitle的博客 3023

SpringBoot日志框架整合指南:Logback配置与ELK日志收集实战

在现代的软件开发中,日志是系统监控、问题排查和性能优化的重要工具。Spring Boot作为一款流行的Java开发框架,其默认的日志框架为Logback。而ELK(Elasticsearch、Logstash、Kibana)是一套强大的日志收集、存储和可视化解决方案。本文将详细介绍如何在Spring Boot项目中配置Logback,并将日志集成到ELK系统中,实现高效的日志管理。

梵心白莲的博客 1110

开源CMDB与资产管理平台对比报告

本文对比分析了9款主流开源CMDB平台,从集成能力、功能完整性和多语言支持三个维度进行评测。重点介绍了VeCMDB、蓝鲸CMDB、WeCMDB和OpsAny等国产平台的特色:VeCMDB以动态模型和自动发现见长;蓝鲸CMDB适合超大规模企业级应用;WeCMDB专注金融级高并发场景;OpsAny提供一体化运维解决方案。针对不同规模企业给出选型建议:中小团队推荐Snipe-IT等轻量工具;大型企业建议蓝鲸或WeCMDB;需国产化适配的可选VeCMDB或OpsAny。文章还特别指出iTop、GLPI等适合ITIL

huang0612123的博客 1081

SpringBoot 整合 Logback——日志框架从配置到实战

日志是生产环境的第一道防线。配置好日志、写好日志、用好日志,线上问题排查效率提升 10 倍。开发环境:DEBUG 级别 + 控制台输出测试环境:INFO 级别 + 文件输出生产环境:INFO 级别 + 异步文件输出 + 错误日志单独归档💡 觉得有用的话,【张老师技术栈】吧!每周更新 Java/Python/爬虫 实战干货,不让你白来。

DoubleZ137的博客 328

GD32单片机引脚复用指南:如何让JTAG接口的PA15/PB3发挥第二功能?

本文详细介绍了GD32F103Cx系列单片机如何通过AFIO模块进行引脚复用,特别是将默认用于JTAG调试接口的PA15、PB3等引脚释放为普通IO或复用功能引脚。文章从原理出发,结合代码实践,讲解了如何配置调试端口重映射,将JTAG引脚安全地转换为GPIO或定时器通道,并提供了常见问题排查与最佳实践,帮助开发者高效利用有限的引脚资源。

nept的博客 810

华为 MetaERP 财务模块的核心业务对象,按子模块与架构维度分类,以表格呈现,适配架构设计与实施落地

华为MetaERP财务模块基于4A架构(业务/应用/数据/技术)与TOGAF框架,实现业财一体化与全球合规。业务架构涵盖组织模型与核心流程,应用架构支撑财务操作,数据架构确保数据一致性,技术架构提供高性能技术底座。模块覆盖总账、应收应付、资产等子模块,支持多组织、多币种、多准则核算,通过实时会计引擎实现"交易即核算"。4A架构与TOGAF框架对应,实现业务能力、应用组件、数据模型与技术栈的深度融合,为华为全球化财务核算提供核心支撑。

金牌架构师 440

SpringBoot中Logback日志框架配置与性能优化实战

日志系统是分布式架构中实现系统可观测性的核心组件,其性能直接影响服务稳定性。作为Java生态主流日志框架,Logback通过异步日志、滚动策略等机制实现高性能日志记录。在SpringBoot项目中,logback-spring.xml配置文件支持环境感知、属性注入等特性,与Spring生态深度集成。针对金融级高并发场景,合理配置AsyncAppender可降低40%以上的IO等待时间,而SizeAndTimeBasedRollingPolicy策略能有效管理日志文件生命周期。本文详解如何通过敏感信息过滤、P

weixin_28340315的博客 51

使用 Fargate 在 AWS ECS 上运行 Spring Boot 应用程序

本文介绍了使用AWS Fargate支持的ECS部署SpringBoot应用的完整流程。主要内容包括:1)将SpringBoot应用打包为Docker镜像并推送至ECR;2)创建任务定义配置CPU、内存和网络等参数;3)设置ECS服务管理任务运行;4)配置负载均衡器分配流量;5)设计VPC网络和安全组规则确保安全访问;6)使用SSM参数存储管理敏感信息。整个过程实现了无服务器化部署,既保持了应用控制权,又免除了基础设施管理负担,是扩展Web服务的可靠方案。

介绍AWS Azure GCP devops Terraform 等技术 512

SpringBoot笔记:SpringBoot2.3集成Logback日志组件配置

文章目录Logback简介简介日志级别日志分类Logback使用添加依赖配置LogbackLogback参数解释1、根节点configuration包含属性2、根节点configuration的子节点3、设置上下文名称3.1、默认方式contextName3.2、默认方式property3.3、获取时间戳字符串:timestamp4、设置loger、root5、举例说明5.1、只配置root5.2、带有logger的配置,不指定界别,不指定appender5.3、带有多个logger的配置,指定级别,指定a

u011047968的专栏 2213

【华为OD机试真题 2025C卷】238、贪吃蛇 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025C卷】238、贪吃蛇 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备战华为od,

正在更新最新华为OD机试2025B卷,提供OJ在线刷题 197

YOLO26改进策略【卷积层】| DWRSeg :高效获取多尺度上下文信息,二次改进C3k2

本文记录的是利用DWR 模块改进 YOLO26 的特征提取部分。(Dilation-wise Residual)通过两步残差流程(区域残差化-语义残差化)与分支化空洞卷积结合,引导解码器处理特征与跳接特征的多尺度精准融合。本文利用模块,通过区域残差化生成简洁区域型特征图以简化融合基础,再通过分支化空洞卷积捕捉多尺度空间上下文,同时依托残差连接保留原始特征信息,对YOLO26中不同尺度目标特征进行针对性强化、抑制无效背景特征干扰,在特征融合阶段实现多尺度语义与细节信息的高效互补,避免传统多感受野卷积的冗余计算

Limiiiing的博客 159

5分钟跑通 CyberStrikeAI:AI 安全测试平台从部署到首次实战

CyberStrikeAI 是一个用 Go 写的 AI 原生安全测试平台:你用自然语言说目标,它自己规划任务、调度 100 多个安全工具、把证据收进可追踪的漏洞记录与攻击链里。适合第一次接触它的开发者和安全工程师。 ## 1. 先看价值:CyberStrikeAI 解决什么问题 读完这节能判断:这东西值不值得装。它把"执行"外包给 AI,把"判断"留给你。 | 对比维度 | 没有它 | 有

gitblog_01017的博客 480

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

PojavLauncher 版本兼容完整指南:手机玩 Java 版,到底该选哪个版本?

PojavLauncher 是一个让手机直接跑 Minecraft: Java Edition 的 Android/iOS 启动器。版本兼容范围覆盖 rd-132211 到 1.21 快照,包含全部战斗测试版本;Forge、Fabric、OptiFine 都能装。这篇文章帮你解决一个问题:这么多版本,你的手机该开哪一个。 [![手机上的 PojavLauncher Java 版游戏画面](htt

gitblog_00464的博客 196

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

在项目开发中的Logback日志框架技术_在项目中使用logback

日志框架技术和异常处理比较类似,它通过将信息记录到系统文件中来帮助开发者检查程序运行情况,这也是在做小项目过程中偶然听到的一个概念,想着很陌生,抱着查缺补漏的心态完善一下对日志框架技术的认知了解。

2501_90433358的博客 756

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

11、Logback日志框架介绍和SpringBoot整合实战 2节课

1、新日志框架LogBack介绍 简介:日志介绍和新日志框架Logback讲解 1.常用处理java的日志组件 slf4j,log4j,logback,common-logging 等 2、logback介绍:基于Log4j基础上大量改良,不能单独使用,推荐配合日志框架SLF4J来使用 logback当前分成三个模块:logback-c...

qq_39354297的博客 137

Java日志体系框架总结:JUL、JCL、SLF4J、Log4j、Logback、Log4j2

概述日志记录是应用程序运行中必不可少的一部分。具有良好格式和完备信息的日志,可以在程序出现问题时帮助开发人员迅速地定位错误的根源。日志所能提供的功能是多种多样的,包括记录程序运行时产生的错误信息、状态信息、调试信息和执行时间信息等。System.out.println、System.err.println及异常对象的pri...

cnzzs的博客 1160

Spring Boot教程(4)-日志配置-logback和使用。

SpringBoot支持日志框架:Java Util Logging, Log4J2 and Logback,默认是使用logback logback配置方式:默认配置文件配置和引用外部配置文件配置 SpringBoot默认使用logback,所以不用引入依赖直接使用: 一:默认配置文件配置(不建议使用:不够灵活,对log4j2等不够友好) # 日志文件名,比如:wsj.log,或者是...

Angus博客 897

日志框架之Logback

文章目录Logback简介Logback的组成Logback与Log4jLogback组件logger contextAppenderConsoleAppenderRollingFileAppenderFilterLogback配置文件加载Logback配置文件详解Logback使用新建项目引入依赖参考文档: Logback简介 Logback与Log4j是同一作者作品,完美继承了Log4j的...

Frank的博客 3461

Logback 日志框架

Logback 作为 Spring Boot 的默认日志框架,提供了高性能、灵活的日志解决方案。(Log4j 作者)设计的高性能日志框架,专为 Java 应用提供高效、灵活的日志解决方案。Spring Boot 默认通过。结构化日志以 JSON 格式记录日志,便于后续分析。依赖集成 Logback,支持开箱即用的日志功能。

小李同学的博客 2683

【SpringBoot】Logback日志框架介绍和SpringBoot整合实战

========================11、Logback日志框架介绍和SpringBoot整合实战 2节课================================ 1、新日志框架LogBack介绍 简介:日志介绍和新日志框架Logback讲解 1.常用处理java的日志组件 slf4j,log4j,logback,common-logging 等 2、logbac...

weixin_30679823的博客 192

SpringBoot整合Logback日志框架

新日志框架LogBack介绍 简介:日志介绍和新日志框架Logback讲解 1.常用处理java的日志组件 slf4j,log4j,logback,common-logging 等 2、logback介绍:基于Log4j基础上大量改良,不能单独使用,推荐配合日志框架SLF4J来使用 logback当前分成三个模块:logback-core,logback-classic和logback-access; logback-core是其它两个模块的基础模块 3、Logback的核心对象: Logger:日

kuiabc的博客 335
上一篇: Java项目集成Log4j2全攻略
下一篇: Spring Boot集成Logback日志全攻略
代码的余温
博客等级 码龄2年 1149粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码的余温

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值