news 2026/8/6 19:43:14

日志技术(Logback Slf4j)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
日志技术(Logback Slf4j)

框架介绍

Log4j(不用)一个流行的日志框架,提供了灵活的配置选项,支持多种输出目标。

Logback:基于Log4j升级而来,提供了更多的功能和配置选项,性能由于Log4j。

Slf4j(Simple Logging Facade for Java)简单日志门面,提供了一套日志操作的标准接口及抽象类,允许应用程序使用不同的底层日志框架。

Logback

依赖

springboot中无需引入,在springboot中已经传递了此依赖

配置文件

引入配置文件logback.xml,放在src/main/resources目录下

<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 控制台输出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 --> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n</pattern> </encoder> </appender> <!-- 日志输出级别 --> <root level="ALL"> <appender-ref ref="STDOUT" /> </root> </configuration>

如果需要输出日志到控制台。添加如下配置(即上面那种):

<!-- 控制台输出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d 表示日期,%thread 表示线程名,%-5level表示级别从左显示5个字符宽度,%msg表示日志消息,%n表示换行符 --> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n</pattern> </encoder> </appender>

如果需要输出日志到文件。添加如下配置:

<!-- 按照每天生成日志文件 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- 日志文件输出的文件名, %i表示序号 --> <FileNamePattern>D:/project-%d{yyyy-MM-dd}-%i.log</FileNamePattern> <!-- 最多保留的历史日志文件数量 --> <MaxHistory>30</MaxHistory> <!-- 最大文件大小,超过这个大小会触发滚动到新文件,默认为 10MB --> <maxFileSize>10MB</maxFileSize> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d 表示日期,%thread 表示线程名,%-5level表示级别从左显示5个字符宽度,%msg表示日志消息,%n表示换行符 --> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n</pattern> </encoder> </appender>

日志开关配置 (开启日志(ALL),取消日志(OFF))

<!-- 日志输出级别 --> <root level="ALL"> <!--输出到控制台--> <appender-ref ref="STDOUT" /> <!--输出到文件--> <appender-ref ref="FILE" /> </root>

日志级别

日志级别指的是日志信息的类型,日志都会分级别,常见的日志级别如下(优先级由低到高):

日志级别说明记录方式
trace追踪,记录程序运行轨迹 【使用很少】log.trace("...")
debug调试,记录程序调试过程中的信息,实际应用中一般将其视为最低级别 【使用较多】log.debug("...")
info记录一般信息,描述程序运行的关键事件,如:网络连接、io操作 【使用较多】log.info("...")
warn警告信息,记录潜在有害的情况 【使用较多】log.warn("...")
error错误信息 【使用较多】log.error("...")

可以在配置文件logback.xml中,灵活的控制输出那些类型的日志。(大于等于配置的日志级别的日志才会输出)

<!-- 日志输出级别 --> <root level="info"> <!--输出到控制台--> <appender-ref ref="STDOUT" /> <!--输出到文件--> <appender-ref ref="FILE" /> </root>

Slf4j

依赖

在lombok中已提供

作用

可以简化定义日志记录器这步操作,在类上加上注解@Slf4j,就不需要定义日志记录器便可直接使用 log.info() 等方法

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 19:40:10

攻克Temu、Shein测评采购下单难题,实现低砍单与F号率

硬件参数个性化处理在自养号运营中&#xff0c;确保硬件参数的唯一性至关重要。这需要借助设备指纹伪装技术&#xff0c;对 IMEI 号、MAC 地址、安全码等超过 20 项硬件参数进行修改&#xff0c;让每个自养号都拥有独一无二的设备标识。实现这一目标有两种常见方式。一种是借助…

作者头像 李华
网站建设 2026/8/4 8:48:11

设计模式学习(4) 23-1 单例模式

0.个人感悟 单例是老生常谈的模式。工作中也用的很多&#xff0c;比如各种全局管理类、工厂类。结合场景&#xff0c;选择合适的实现方式它核心思路是想办法让类只有一个实例&#xff0c;对外只提供一个获取实例的方法(封装)&#xff0c;然后是安全和效率考虑 自己实现 提前将…

作者头像 李华
网站建设 2026/8/4 10:00:05

java计算机毕业设计数字化商城的设计与实现 基于SpringBoot的线上购物商城系统的设计与实现 Java Web电商平台开发:商品管理与订单交易系统

计算机毕业设计数字化商城的设计与实现67ilu9&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。流量即销量&#xff0c;疫情把“逛街”搬到指尖&#xff0c;传统铺面再豪华也抵不过…

作者头像 李华
网站建设 2026/8/5 6:42:12

Ascend C算子开发学习周报

Ascend C算子开发学习周报一、本周学习概述本周我首次接触华为昇腾Ascend C算子开发方向&#xff0c;主要从基本概念到编程模型的初步认知。由于是全新的技术领域&#xff0c;学习过程以理解基础架构和核心概念为主&#xff0c;具体细节和实践经验仍有待深化。二、学习内容详细…

作者头像 李华
网站建设 2026/8/3 18:24:37

3152419-206射频发电机

3152419-206 射频发电机 产品应用领域&#xff1a;半导体制造用于刻蚀、沉积、清洗等工艺过程中的等离子体激励与功率供给。平板显示与光电行业应用于 LCD、OLED 等面板制造中的薄膜沉积和等离子处理工艺。真空与等离子体工艺设备为真空腔体内的等离子体系统提供稳定、可控的射…

作者头像 李华