news 2026/4/30 14:02:31

日志技术(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/25 21:47:24

Kotaemon新闻摘要生成:7x24小时自动资讯简报

Kotaemon新闻摘要生成&#xff1a;7x24小时自动资讯简报 在金融交易室、媒体编辑部或企业战略部门&#xff0c;每天清晨打开邮箱看到几十条未读新闻推送时&#xff0c;你是否曾感到信息过载的窒息&#xff1f;更令人焦虑的是&#xff0c;关键事件可能在发布后10分钟内就影响股…

作者头像 李华
网站建设 2026/5/1 6:27:50

【分析式AI】-过拟合(含生活案例说明)

1. 专业术语说明 过拟合 是指一个机器学习模型在训练数据集上表现过于优异&#xff0c;以至于它学习了训练数据中的噪声、随机波动和无关特征&#xff0c;而非数据背后的真实、普适的分布规律。这导致模型的复杂度远高于问题本身所需的复杂度&#xff0c;其结果是模型在训练集…

作者头像 李华
网站建设 2026/4/30 2:48:19

mcp demo 智能天气服务:经纬度预报与城市警报

编写一个输入经纬度获取天气预报&#xff0c;和输入城市名称获取天气警告的mcp服务 代码 mcp 1.24.0 from typing import Any, List import random from datetime import datetime, timedeltafrom mcp.server.fastmcp import FastMCP from starlette.…

作者头像 李华
网站建设 2026/4/18 7:48:21

opencv灰度图与彩色图的处理

1.图像读取与转换import cv2 color_img cv2.imread(image.jpg) gray_img cv2.imread(image.jpg, cv2.IMREAD_GRAYSCALE)cv2.IMREAD_COLOR : 彩色图像&#xff08;默认&#xff09; cv2.IMREAD_GRAYSCALE : 灰度图像cv2.IMREAD_UNCHANGED : 包含alpha通道2.彩色图与灰…

作者头像 李华
网站建设 2026/4/28 20:28:00

数据结构入门:二叉排序树的删除算法

有序二叉树&#xff08;二叉搜索树&#xff09;的核心特性是左子树节点值 < 根节点值 < 右子树节点值&#xff0c;删除节点时需要保证删除后树的有序性不被破坏。一、为什么删除有序二叉树节点这么麻烦&#xff1f;普通二叉树删除节点只需要断开引用&#xff0c;但有序二…

作者头像 李华