news 2026/8/1 17:19:03

日志技术(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/1 3:24:34

别让AI抢了你的饭碗:学会让它替你打工,才是未来的生存法则

朋友们&#xff0c;你有没有想过&#xff0c;未来的世界可能会被简单地分成两种人&#xff1f;一种是让AI替自己干活的人&#xff0c;另一种是活被AI抢走的人。这句话听起来有点残酷&#xff0c;但趋势已经摆在我们眼前。从写报告、做设计&#xff0c;到分析数据、客服应答&…

作者头像 李华
网站建设 2026/7/31 16:19:09

PinMe——极简、免费和无需服务器的开源前端部署工具

PinMe是一个开源的前端部署工具&#xff0c;它通过将静态网站文件上传到去中心化的IPFS网络来实现快速发布&#xff0c;主打极简、免费和无需服务器&#xff0c;目前Github 1.7k stars。 Github地址&#xff1a;https://github.com/glitternetwork/pinme PinMe 的官方网站&am…

作者头像 李华
网站建设 2026/7/31 22:15:21

在 PC 和Android之间同步音乐的 4 种方法

当您的Android设备存储空间越来越少时&#xff0c;您可能希望将整个音乐库同步到电脑进行备份。或者&#xff0c;有时您可能也希望将电脑上的音乐同步到Android &#xff0c;以便随时随地欣赏美妙的音乐。无论您的偏好如何&#xff0c;本文都将为您提供四种在电脑和手机之间同步…

作者头像 李华
网站建设 2026/7/31 13:49:47

广告联盟APP开发:收益实时统计、渠道效果分析与可视化管理方案

在广告联盟APP 的商业化运营中&#xff0c;收益实时统计、渠道效果分析、数据可视化管理是三大核心能力 —— 数据显示&#xff0c;搭载完善数据管理体系的广告联盟平台&#xff0c;广告主留存率提升 40%&#xff0c;流量主收益优化效率提高 50%。但多数平台面临 “数据统计延迟…

作者头像 李华
网站建设 2026/8/1 14:10:49

01.需要了解的五种机器学习类型

需要了解的五种机器学习类型 [机器学习] (ML) 技术几乎可以推动所有行业的决策,从医疗保健到人力资源再到金融,以及计算机[视觉]、[大型语言模型] (LLM)、语音识别、自动驾驶汽车等各种应用场景。 然而,机器学习的影响力日益增长也并非没有复杂问题。支撑 ML 技术的验证和训…

作者头像 李华
网站建设 2026/8/1 10:09:41

02.什么是机器学习算法?

什么是机器学习算法? 机器学习算法是一种程序和数学逻辑,通过这种程序和逻辑,“机器”(人工智能 (AI) 系统)学习识别训练数据中的模式,并将这种模式识别应用于对新数据进行准确预测。机器学习算法是现代 AI 和数据科学的基本构建块,从简单的线性回归模型到尖端深度学习技…

作者头像 李华