SuperAPI AI 工具集

logback

编程与开发

查看项目

更新于 10-15 18:52

技能介绍

用途:在 Spring Boot/Java 应用中配置日志,包括控制台与文件输出、日志轮转、高性能异步日志,以及基于 Spring Profile 的环境差异化配置。

主要能力:可通过 logback-spring.xml 定义 ConsoleAppender、RollingFileAppender 与 AsyncAppender;支持基于大小和时间的滚动策略(maxFileSize、maxHistory、totalSizeCap);支持 %X{key} 等 MDC 占位符输出请求上下文;可结合 LogstashEncoder 输出 JSON 以对接 ELK;支持按 logger 名称设置级别与 springProfile 分段配置。

使用方式:在 src/main/resources 放置 logback-spring.xml(Spring Boot 场景),用 property 占位符如 ${LOG_PATH} 避免硬编码路径。MDC 通过 org.slf4j.MDC 的 put/clear 使用,务必在 finally 中调用 MDC.clear()。业务代码使用 SLF4J API,Logback 仅作为实现。

限制与注意:高流量下同步文件 appender 会阻塞线程,应包裹 AsyncAppender;缺少滚动策略会占满磁盘;生产环境不宜输出到控制台或使用 DEBUG;logger 需设 additivity="false" 以避免重复日志;Spring Profile 配置需使用 logback-spring.xml 而非 logback.xml。本技能不覆盖 SLF4J API 细节、Log4j2 配置、非 Java 项目及简单脚本控制台输出。

更完整文档可通过 mcp__documentation__fetch_docs 并指定 technology: logback 获取。