日志技术-LogBack、Logback快速入门、Logback配置文件、Logback日志级别

article/2025/7/4 22:48:58

一. 日志技术

        1. 程序中的日志,是用来记录应用程序的运行信息、状态信息、错误信息等。

        2. JUL:(java.util.logging)这是JavaSE平台提供的官方日志框架,也被称为JUL。配置相对简单,但不够灵活,性能较差。

        3.Logs4j:一个流行的日志框架,提供了灵活的配置选项,支持多种输出目标。

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

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

二. Logback快速入门

        1. 引入logback的依赖(springboot项目中该依赖已传递)、配置文件logback.xml

<?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个字符宽度,%logger显示日志记录器的名称, %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:/tlias/tlias-%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><!-- 日志输出级别 --><root level="ALL"><appender-ref ref="STDOUT" /><appender-ref ref="FILE" /></root>
</configuration>

        2. 记录日志:定义日志记录对象Logger,记录日志


import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.time.LocalDateTime;public class LogTest {private static final Logger logger = LoggerFactory.getLogger(LogTest.class);@Testpublic void testLog(){
//       System.out.println(LocalDateTime.now() + " : 开始计算...");logger.info("开始计算------");int sum = 0;int[] nums = {1, 2, 3, 4, 5, 4, 3, 2, 1};for (int num : nums) {sum += num;}logger.info("结束计算------" +  sum);
//        System.out.println("计算结果为: "+sum);
//        System.out.println(LocalDateTime.now() + "结束计算...");}}

三. Logback配置文件

        1. 配置文件名:logback.xml

        2. 改配置文件是对Logback日志框架输出的日志进行控制的,可以来配置输出的格式、位置及日志开关等。

        3. 常用的两种输出日志的位置:控制台、系统文件

 <!-- 控制台输出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d 表示日期,%thread 表示线程名,%-5level表示级别从左显示5个字符宽度,%logger显示日志记录器的名称, %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:/tlias/tlias-%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>

        4. 开启日志(ALL),关闭日志(off)

四. Logback日志级别

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

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

        2. 可以在配置文件中,灵活的控制输出哪些类型的日志

        3. @Slf4j注解

 

 


http://www.hkcw.cn/article/sGTpepWWhy.shtml

相关文章

Nuxt多环境配置

前言 多环境配置对于特定环境新增、更新、删除配置相当重要&#x1f601;而且不需要人为去变更配置减少出错 实践 方案1&#xff08;官方推荐&#xff09; 升级依赖 升级Nuxt到最新版&#xff08;3.15.x只有开发和生产配置&#xff0c;不支持自定义环境&#xff09; npx n…

林志炫回应机能下降 唱功未减获支持

林志炫参加《歌手2025》,仅两期就被淘汰出局,成为第二位被淘汰的歌手。他在舞台上只唱了两首歌,却因此遭到质疑,很多人认为他的唱功严重下滑。尽管林志炫已年过半百,但他的唱功并未下降。林志炫在参加《我是歌手》期间曾透露,他非常注重嗓子的保养,平时饮食起居都会照顾…

这个中部大省 拼命“抢人” 系统性引才策略

又是一年毕业季。5月28日,长沙市青年人才创新创业政策推介活动在上海复旦大学举行,现场发布了长沙市青年人才创业“双肩包”行动计划,旨在为创业者提供从落地到上市的一条龙支持。这一行动背后是湖南省将大学生创业视为长远发展战略的一部分,通过系统性思维解决人才问题。不…

喜欢红帽子的马斯克 这次戴了黑帽子 DOGE成为“替罪羊”

美东时间5月30日,美国科技亿万富翁埃隆马斯克作为特朗普政府“特殊政府雇员”的任期结束。特朗普为他举行了一场在白宫椭圆形办公室的新闻发布会,并赠送了一把金色钥匙。马斯克戴着一顶印有“DOGE”字样的黑帽子参加了这场欢送会。在负责美国政府效率部(DOGE)运作的130天里…

联合国:全球住房危机影响近30亿人 亟需全球行动应对

当地时间5月29日至30日,第二届联合国人居大会续会在肯尼亚首都内罗毕召开。超过1000名代表参与会议,共同探讨全球住房危机,希望通过讨论、协作与政策规划来解决这一问题。联合国人类住区规划署执行主任阿纳克劳迪娅罗斯巴赫指出,据估计,全球有超过28亿人面临住房条件不达标…

拜登确诊癌症后首公开讲话:感觉很好 称病情发展良好

据美国广播公司和英国广播公司报道,自美国前总统拜登办公室5月18日宣布拜登被诊断患有侵袭性前列腺癌后,拜登于当地时间5月30日首次向记者发表公开讲话。他表示自己感觉很好。拜登说:“预计病情发展良好。我们正努力做好一切工作。一切都在进行中,所以我感觉很好。”他透露…

11月起新生产电池都将有“身份证” 实现全生命周期管控

为加强锂离子电池全生命周期的安全与质量管理,市场监管总局批准发布了《锂离子电池编码规则》国家标准,该标准将于2025年11月1日起实施。新标准赋予每个新生产的电池产品唯一身份编码,适用范围覆盖从单体电池到电池系统的全层级产品。通过“一池一码”可以实现从生产端到回收…

端午假期长江中下游有大暴雨 警惕次生灾害

端午假期期间,中东部地区将经历较大范围的降雨过程。长江中下游等地可能出现强降雨,部分地区甚至会有大暴雨,并伴有强对流天气。需警惕山体滑坡、泥石流等次生灾害。东北地区受冷空气影响将迎来降温,而华南多地则会出现高温,需注意防暑。昨天,中东部新一轮较大范围降雨过…

智慧港口电子通关系统引领智能化监管新时代

在全球贸易蓬勃发展的背景下&#xff0c;港口作为国际贸易的核心枢纽&#xff0c;其通关效率和监管能力直接影响物流链的顺畅运作。智慧港口电子通关系统&#xff08;智能闸口系统&#xff09;通过技术创新与数据融合&#xff0c;为海关监管和港口运营提供高效、精准、智能化的…

使用摄像头推流+VLC软件拉流

一、作用 使用摄像头创建rtsp链接&#xff0c;并使用VLC软件拉流显示。 二、步骤 1、安装FFmpeg库 下载地址&#xff1a;https://ffmpeg.org/download.htmlFFmpeg库的下载参考之前的博客&#xff0c;下载Win64版本即可&#xff1a;https://blog.csdn.net/beijixingcd/artic…

第8讲、Odoo 18 ORM 深度解析

文章目录 [toc] Odoo 18 ORM 深度解析&#x1f9e0; 一句话总结 Odoo ORM 原理&#x1f9f1; ORM 核心结构概览&#x1f504; ORM 生命周期与原理分析1️⃣ 模型定义&#xff08;Python class&#xff09;2️⃣ 模型注册&#xff08;MetaModel & Registry&#xff09;3️⃣…

网络编程套接字

目录 1.Socket套接字 1.1TCP和UDP的区别 2.UDP api的使用 2.1DatagramSocket 2.2DatagramPacket 3.UDP数据报套接字编程 3.1UdpEchoServer服务器 3.2UdpEchoClient客户端 3.3客户端和服务器相互配合的完整流程 4.TCP api的使用 4.1ServerSocket 4.2Socket 4.TCP数据…

秋招Day12 - 计算机网络 - TCP

详细说一下TCP的三次握手机制 TCP的三次握手机制是为了在两个主机之间建立可靠的连接&#xff0c;这个机制确保两端的通信是同步的&#xff0c;并且在开始传输数据前&#xff0c;双方都做好了要通信的准备。 说说SYN的概念&#xff1f; SYN 是 TCP 协议中用来建立连接的一个标…

前端pointer-events属性

1.如图 2.用法 使用pointer-events来阻止元素成为鼠标事件目标不一定意味着元素上的事件侦听器永远不会触发。如果元素后代明确指定了pointer-events属性并允许其成为鼠标事件的目标&#xff0c;那么指向该元素的任何事件在事件传播过程中都将通过父元素&#xff0c;并以适当的…

golang连接sm3认证加密(app)

文章目录 环境文档用途详细信息 环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7 版本&#xff1a;4.5 文档用途 golang连接安全版sm3认证加密数据库,驱动程序详见附件。 详细信息 1.下载Linux golang安装包 go1.17.3.linux-amd64.tar.gz 1.1. 解压安…

PYTHON调用讯飞C/C++动态库实现离线语音合成并且实时播放

语音合成(Text-to-Speech, TTS)技术在现代应用中扮演着越来越重要的角色&#xff0c;从智能客服到有声读物&#xff0c;从导航系统到辅助工具&#xff0c;TTS技术无处不在。本文将详细介绍如何使用Python结合科大讯飞的离线SDK实现一个本地化的语音合成系统。 技术背景 离线语…

【Unity】模型渐变技术 BlendShapes变形

模型fbx拖拽到场景并赋予脚本上SkinnedMeshRenderer参数 按下空格即可演示渐变 可去到3DsMax 或 Blender等软件制作 这种带有BlendShapes的模型 (Sphere002)是另一个模型&#xff0c;3DsMax叫变形器。 可参考&#xff1a;【技术美术百人计划】美术 3.5 BlendShape基础_哔哩哔哩…

追觅高管批员工8点下班太早 引发加班争议

近日,社交媒体上流传一封追觅内部信。信中提到,许多深圳员工晚上不到20点就下班了,而总部那边22点后还有员工在办公室。管理者建议员工即使按时下班到家也应继续工作。信中还表示,行业内的普遍标准是员工创造的价值要达到公司雇佣成本的15倍以上,并以此质问员工是否达到了…

以防长:哈马斯要么接受要么被消灭 以军全面施压加沙

当地时间5月30日,以色列国防部长卡茨通过个人社交媒体账号发表声明称,在以军强大的军事压力下,巴勒斯坦伊斯兰抵抗运动(哈马斯)将被迫选择接受美方提出的加沙停火提案,或被以色列消灭。卡茨表示,当前以军正在加沙地带全力展开行动,打击并摧毁哈马斯据点,并要求当地居民…

朱雀玄武敕令称改名事件成政治考题 高考模拟题意外现身

前不久,“00后”小伙朱雀玄武敕令申请改名为“周天紫微大帝”的新闻引起广泛关注。5月30日,他透露近期正准备参加今年高考,并在网上搜寻到的模拟考试卷中看到了关于自己改名一事的考题。朱雀玄武敕令出生于2001年,父母为他起名“朱云飞”。2025年1月,他改名为“朱雀玄武敕…