Spring-boot读书笔记一Introduction of logging framework of Log4j2

news/2026/1/15 18:14:58/文章来源:https://www.cnblogs.com/KKBLN/p/19423771

Log4j2 is a powerful and flexible logging framework for Java applications. Here's an overview of its key components and features:

Core Components

  • Logger - The main interface for logging messages. Loggers are named entities that capture log events.
  • Appender - Defines where log messages are sent (console, files, databases, etc.).
  • Layout - Controls the format of log messages (JSON, XML, pattern-based, etc.).
  • Configuration - Defines loggers, appenders, and their relationships through XML, JSON, YAML, or properties files.

Key Features

  • Asynchronous Logging - High-performance logging with minimal impact on application threads
  • Automatic Reloading - Configuration changes are detected and applied without restarting
  • Plugin Architecture - Extensible system for custom appenders, layouts, and filters
  • Lambda Support - Lazy evaluation of log messages for better performance
  • Garbage-Free Logging - Reduces memory allocation and GC pressure

Log Levels (Hierarchy)
FATAL > ERROR > WARN > INFO > DEBUG > TRACE

Basic Configuration Example
For your Spring Boot application, you can configure Log4j2 using log4j2.xml:


<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/></Console><File name="FileAppender" fileName="logs/application.log"><PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n"/></File></Appenders><Loggers><Logger name="com.example" level="DEBUG"/><Root level="INFO"><AppenderRef ref="Console"/><AppenderRef ref="FileAppender"/></Root></Loggers>
</Configuration>

Common Appenders

  • ConsoleAppender - Outputs to console/terminal
  • FileAppender - Writes to files
  • RollingFileAppender - Rotates log files based on size/time
  • AsyncAppender - Wraps other appenders for asynchronous logging
  • JDBCAppender - Logs to databases
  • SMTPAppender - Sends logs via email

Performance Benefits

  • Log4j2 offers significant performance improvements over Log4j 1.x:
  • 10x faster than Log4j 1.x and Logback
  • Garbage-free logging in steady state
  • Asynchronous loggers for high-throughput applications

For Spring Boot applications, Log4j2 integrates seamlessly and can replace the default Logback implementation by excluding it from dependencies and adding Log4j2 starter.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1098551.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 K-Means 聚类进行图像分割

原文&#xff1a;towardsdatascience.com/image-segmentation-with-k-means-clustering-1bc53601f033 你可以在这里查看这个项目的笔记本 here https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/dd72df59bc4201bdd2fffd5cf9c528df.pnghttps…

JLink驱动安装日志分析方法:快速定位错误原因

JLink驱动装不上&#xff1f;别急着重插USB&#xff0c;先看日志&#xff01; 你有没有遇到过这样的场景&#xff1a; 新电脑刚装好Keil&#xff0c;信心满满地把J-Link往USB口一插——结果设备管理器里冒出个“未知设备”&#xff1b; 或者团队同事说“我这边没问题”&…

IAR安装教程(STM32):手把手带你完成环境搭建

手把手教你安装IAR并搭建STM32开发环境&#xff1a;从零开始&#xff0c;一次成功 你是不是也曾在搜索引擎里反复输入“ iar安装教程 stm32 ”&#xff0c;却总被一堆过时信息、断链下载和莫名其妙的授权错误搞得焦头烂额&#xff1f;别急——这篇文章就是为你写的。 作为一…

【2025最新】基于SpringBoot+Vue的乡村养老服务管理系统管理系统源码+MyBatis+MySQL

摘要 随着我国人口老龄化问题日益突出&#xff0c;乡村地区的养老服务需求快速增长&#xff0c;但传统养老服务模式存在信息化程度低、管理效率不足等问题。乡村养老服务管理系统旨在通过数字化手段优化资源配置&#xff0c;提升服务效率&#xff0c;满足老年人的多样化需求。该…

Miniconda-Python3.10镜像如何实现按需付费的Token模式

Miniconda-Python3.10镜像如何实现按需付费的Token模式 在AI训练任务日益频繁、科研协作愈发紧密的今天&#xff0c;一个常见的痛点反复浮现&#xff1a;为什么我在本地跑通的代码&#xff0c;到了同事或云端环境就“依赖报错”&#xff1f;更进一步的问题是——即使解决了环境…

STM32 USART波特率超详细版配置流程说明

搞定STM32串口通信&#xff0c;从波特率配置开始&#xff1a;不只是“设个数”&#xff0c;而是理解整个时钟链路你有没有遇到过这种情况&#xff1f;STM32程序烧进去后&#xff0c;串口助手打开却只看到一堆乱码——不是字符错位&#xff0c;就是满屏“烫烫烫”。第一反应是查…

cc2530串口通信项目应用:IAR平台操作指南

CC2530串口通信实战&#xff1a;从IAR工程搭建到UART调试全解析你有没有遇到过这样的情况&#xff1f;代码烧进去了&#xff0c;板子也上电了&#xff0c;但串口助手就是收不到一个字节的数据。LED不闪&#xff0c;波形没有&#xff0c;程序仿佛“静音”了一般——这是每一个嵌…

CCS20冗余架构设计原理:图解说明

深入理解CCS20冗余架构&#xff1a;从原理到实战的全链路解析在轨道交通信号系统、智能电网调度中心或核电站控制平台中&#xff0c;你是否曾思考过——当主控制器突然宕机时&#xff0c;系统如何做到“毫无察觉”地继续运行&#xff1f;这不是魔法&#xff0c;而是现代高可用控…

Jupyter内核配置错误修复:确保Miniconda-Python3.10正确注册Python环境

Jupyter内核配置错误修复&#xff1a;确保Miniconda-Python3.10正确注册Python环境 在数据科学和AI开发中&#xff0c;一个看似微小的环境配置问题&#xff0c;常常会拖慢整个项目进度。你是否曾遇到这样的情况&#xff1a;好不容易搭建好基于 Python 3.10 的 Miniconda 环境&a…

使用Miniconda为大模型推理服务配置负载均衡

使用Miniconda为大模型推理服务配置负载均衡 在构建高并发、多节点的大模型推理系统时&#xff0c;一个常被低估但至关重要的环节是——环境一致性。你有没有遇到过这样的场景&#xff1a;同一个模型&#xff0c;在开发机上运行正常&#xff0c;部署到生产集群后却频繁报错&…

Miniconda-Python3.10镜像在儿童教育大模型中的适配优化

Miniconda-Python3.10镜像在儿童教育大模型中的适配优化 在当今智能教育快速演进的背景下&#xff0c;越来越多的AI技术被引入课堂——从自动作文批改到语音纠音辅导&#xff0c;再到个性化学习路径推荐。这些功能背后往往依赖复杂的深度学习模型&#xff0c;而支撑它们稳定运…

Java Web 箱包存储系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

摘要 随着电子商务的快速发展&#xff0c;箱包行业对信息化管理的需求日益增长。传统的手工记录和简单的电子表格管理方式已无法满足企业对库存管理、订单处理和数据分析的精准化需求。箱包存储系统通过信息化手段实现商品分类、库存监控、订单管理和用户交互等功能&#xff0c…

Miniconda-Python3.10环境下安装DGL进行图神经网络研究

Miniconda-Python3.10环境下安装DGL进行图神经网络研究 在当今AI研究中&#xff0c;图神经网络&#xff08;GNN&#xff09;正迅速成为处理复杂关系数据的核心工具。从社交网络中的用户行为建模&#xff0c;到药物分子结构预测&#xff0c;再到知识图谱推理&#xff0c;越来越多…

从Anaconda迁移到Miniconda-Python3.10:节省70%磁盘空间的方法

从 Anaconda 迁移到 Miniconda-Python3.10&#xff1a;如何节省 70% 磁盘空间 在 GPU 云服务器上启动一个数据科学环境时&#xff0c;你是否曾因等待 Anaconda 加载而浪费了整整十分钟&#xff1f;或者在 CI/CD 流水线中&#xff0c;构建镜像的时间一半都花在了解压和安装冗余包…

LTspice仿真错误排查技巧:常见报错通俗解释

LTspice仿真卡住了&#xff1f;别慌&#xff0c;这些报错其实你都懂&#xff01;你有没有过这样的经历&#xff1a;花了一个小时搭好一个同步Buck电路&#xff0c;信心满满点下“Run”&#xff0c;结果几秒后弹出一行红字——“Time step too small”。再试几次&#xff0c;还是…

通过jflash实现安全启动配置:工业应用

用jFlash打造工业级安全启动&#xff1a;从烧录到信任链的实战指南你有没有遇到过这样的场景&#xff1f;产线上的设备莫名其妙运行异常&#xff0c;排查后发现固件被替换成“山寨版”&#xff1b;或者现场部署的控制器被人通过调试口读出了全部代码&#xff0c;核心算法一夜之…

PyTorch安装教程GPU版:Miniconda-Python3.10环境下一键部署深度学习模型

PyTorch GPU版环境部署实战&#xff1a;基于Miniconda-Python3.10的高效AI开发配置 在深度学习项目中&#xff0c;最让人头疼的往往不是模型设计本身&#xff0c;而是环境搭建——明明代码写好了&#xff0c;却因为CUDA版本不匹配、PyTorch无法识别GPU、包依赖冲突等问题卡住数…

使用Miniconda实现PyTorch模型的金丝雀发布

使用Miniconda实现PyTorch模型的金丝雀发布 在现代AI工程实践中&#xff0c;一个看似简单的“模型上线”背后&#xff0c;往往隐藏着复杂的环境依赖、版本冲突和部署风险。你有没有遇到过这样的场景&#xff1a;本地训练好的PyTorch模型&#xff0c;在生产服务器上却因为CUDA版…

Miniconda-Python3.10镜像在诗歌生成大模型中的创意应用

Miniconda-Python3.10镜像在诗歌生成大模型中的创意应用在人工智能不断渗透创作领域的今天&#xff0c;AI写诗早已不再是实验室里的奇技淫巧。从古风绝句到现代散文诗&#xff0c;大规模语言模型已经能够产出令人惊艳的文本作品。然而&#xff0c;真正让这些“数字诗人”稳定发…

Java SpringBoot+Vue3+MyBatis 项目申报管理系统系统源码|前后端分离+MySQL数据库

摘要 在信息化快速发展的时代背景下&#xff0c;项目申报管理系统的需求日益增长。传统的纸质申报方式效率低下&#xff0c;容易出现数据丢失或重复提交的问题&#xff0c;无法满足现代高效管理的需求。随着互联网技术的普及&#xff0c;越来越多的机构和企业开始采用数字化管理…