news 2026/4/23 17:37:43

日志技术(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/4/23 15:54:59

文献综述写得头大?paperxie 让你从 “抄文献” 变成 “理思路”

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/aippt https://www.paperxie.cn/ai/journalsReviewedhttps://www.paperxie.cn/ai/journalsReviewed 写论文时&#xff0c;文献综述大概是最 “磨人” 的环节&#xff1a;既要读几十篇文献&#xff0c;又要…

作者头像 李华
网站建设 2026/4/23 14:45:56

云计算时代:企业为何仍需放弃“一次性买断”模式?

云计算时代&#xff1a;企业为何仍需放弃“一次性买断”模式&#xff1f;作为一名IT部门经理&#xff0c;我经常遇到企业客户问&#xff1a;“我们公司现在用了几十年的老系统&#xff0c;运行稳定&#xff0c;成本也不高&#xff0c;为什么还要考虑迁移到云&#xff1f;”这个…

作者头像 李华
网站建设 2026/4/22 23:00:25

Ascend C算子开发学习周报(12.9-12.15)

一、本周学习概述本周我主要聚焦于Ascend C编程范式和基础概念体系的系统性学习。通过社区文档&#xff0c;本周的核心任务是理解TPipe/TQue编程范式、静态Tensor编程范式&#xff0c;并熟悉编程接口的整体框架。同时&#xff0c;我对概念原理、神经网络算子、硬件架构与数据处…

作者头像 李华
网站建设 2026/4/23 13:02:27

linux系统IO

第一阶段&#xff1a;重新认识“文件”在写 C 语言时&#xff0c;你肯定用过 fopen, fread, fwrite。但在操作系统眼里&#xff0c;文件远不止“读写”这么简单。1. 文件的本质文件 文件内容 文件属性内容&#xff1a;你写进去的 "Hello World"。属性 (元数据)&…

作者头像 李华