Spring Boot8--log4j日志记录

Spring Boot Starter Log4j2 是一个用于集成 Log4j2 日志框架的 Spring Boot 启动器 通过添加这个启动器依赖,开发者可以快速地在项目中配置和使用 Log4j2,而无需手动添加和管理相关的依赖和配置文件。Log4j2 是一个功能强大且灵活的日志记录库,它提供了丰富的功能和配置选项,适用于各种规模的应用程序。通过以上步骤,你就可以在 Spring Boot 项目中使用 Log4j2 进行日志记录了。Log4j2 提供了丰富的功能,如异步日志、文件日志、滚动日志等,可以根据需要进行进一步的配置和扩展。有关以编程方式配置Log4j的信息,可以在扩展Log4j 2和编程Log4j配置中找到。 阅读详情

在创建Spring Boot工程时,我们引入了spring-boot-starter,其中包含了spring-boot-starter-logging,

该依赖内容就是Spring Boot默认的日志框架Logback,所以我们在引入log4j之前,需要先排除该包的依赖,再引入log4j的依赖,就像下面这样:

log4j不加版本号会报错

在引入了log4j依赖之后,只需要在src/main/resources目录下加入log4j.properties配置文件,就可以开始对应用的日志进行配置使用。

控制台输出

通过如下配置,设定root日志的输出级别为INFO,appender为控制台输出stdout

# LOG4J配置
log4j.rootCategory=INFO, stdout

# 控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
输出到文件

在开发环境,我们只是输出到控制台没有问题,但是到了生产或测试环境,或许持久化日志内容,方便追溯问题原因。可以通过添加如下的appender内容,

按天输出到不同的文件中去,同时还需要为log4j.rootCategory添加名为file的appender,这样root日志就可以输出到logs/all.log文件中了。

 
#
log4j.rootCategory=INFO, stdout, file

# root日志输出
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.file=logs/all.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

分类输出

当我们日志量较多的时候,查找问题会非常困难,常用的手段就是对日志进行分类,比如:

  • 可以按不同package进行输出。通过定义输出到logs/my.log的appender,并对com.didispace包下的日志级别设定为DEBUG级别、
  • appender设置为输出到logs/my.log的名为didifile的appender。
# com.didispace包下的日志配置
log4j.category.com.didispace=DEBUG, didifile

# com.didispace下的日志输出
log4j.appender.didifile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.didifile.file=logs/my.log
log4j.appender.didifile.DatePattern='.'yyyy-MM-dd
log4j.appender.didifile.layout=org.apache.log4j.PatternLayout
log4j.appender.didifile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L ---- %m%n
  • 可以对不同级别进行分类,比如对ERROR级别输出到特定的日志文件中,具体配置可以如下。
log4j.logger.error=errorfile
# error日志输出
log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorfile.file=logs/error.log
log4j.appender.errorfile.DatePattern='.'yyyy-MM-dd
log4j.appender.errorfile.Threshold = ERROR
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
 

 

Spring Boot 整合 log4j2 日志配置教程 在项目推进中,如果说第一件事是搭建 Spring 框架的话,那么第二件事情就是在 Sring 基础上搭建日志框架,此篇文章是博主在学习过程中使用 Spring Boot 搭建项目时整合 Log4j2 日志的总结共有8个级别,按照从低到高为:All < Trace < Debug < Info < Warn < Error < Fatal < OFF机制:如果一条日志信息的级别大于等于配置文件的级别,就记录All:最低等级的,用于打开所有日志记录。 阅读详情

相关推荐

spring boot 学习(六)spring boot 各版本中使用 log4j2 记录日志

spring boot 各版本中使用 log4j2 记录日志: spring boot 1.2.4 版本有一个小坑(所以建议使用 1.2.8 以上版本); spring boot 1.3.X 版本支持 log4j/log4j2; spring boot 1.4.X 版本支持 log4j2。

FunriLy 1万+

java 工程中使用log4j_Java项目中使用Log4J

Log4J下载官网:http://logging.apache.org/log4j/Log4J 1.2下载地址:http://logging.apache.org/log4j/1.2/download.html使用步骤拷贝Log4J jar包到项目,并加入Build Path创建配置文件log4j.properties在程序main函数中加载配置文件:PropertyConfigurator.co...

weixin_34478373的博客 309

Spring Boot集成Log4j详解:从入门到精通

追踪程序执行流程诊断和调试问题监控系统运行状态记录用户操作行为// 简单的日志记录示例logger.info("开始创建订单,订单ID:" + order.getId());try {// 业务逻辑logger.debug("订单处理中...");logger.error("创建订单失败", e);logger.info("订单创建完成");特性Log4j2Logback性能高中低配置方式XML/GroovyProperties异步日志支持支持。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 2113

Spring boot中使用log4j记录日志

之前在Spring Boot日志管理一文中主要介绍了Spring Boot中默认日志工具(logback)的基本配置内容。对于很多习惯使用log4j的开发者,Spring Boot依然可以很好的支持,只是需要做一些小小的配置功能。 引入log4j依赖 在创建Spring Boot工程时,我们引入了spring-boot-starter...

weixin_34233856的博客 228

用户消费行为分析(MapReduce实现,Hive分析)

一、题目要求 数据来自CDNow网站的一份用户购买CD明细,本数据集共有 6 万条 左右数据,数据为 CDNow 网站 1997年1月至1998年6月的用户行为 数据

紫烟的博客 3013

4.7W防削顶单声道D类音频功率放大器HT6872介绍

HT6872是一款低EMI,防削顶失真,单声道免滤波D类音频功率放大器。在6.5V电源,10%THD+N,4Ω负载条件下,输出4.71W功率,在各类音频终端应用中维持高效率并提供AB类放大器的性能。

weichen_78的博客 4698

Spring Boot 基础系列教程 | 第二十四篇:使用log4j记录日志

推荐 Spring Boot/Cloud 视频: Java 微服务实践 - Spring Boot Java 微服务实践 - Spring Cloud 之前在Spring Boot日志管理 一文中主要介绍了Spring Boot中默认日志工具(logback)的基本配置内容。对于很多习惯使用log4j的开发者,Spring Boot依然可以很好的支持,只是需要做一些小小的配置功能。 引入log...

qq_43253123的博客 312

告别IMEI!手把手教你用UUID实现Android设备唯一标识(兼容Android 10-13)

本文详细探讨了在Android 10及以上版本中,如何构建合规且高可用的设备唯一标识方案以替代被限制访问的IMEI。文章深入分析了Android设备标识符的演变,并提供了基于UUID/GUID的完整实现策略,包括生成算法、多级持久化存储方案(如MediaStore)、权限处理以及版本兼容性实践,帮助开发者应对Android 10-13的隐私政策变化。

weixin_28339967的博客 574

Spring Boot教程三:log4j记录日志

springboot 自身整合了日志框架,但是对于习惯使用log4j的程序员来说,springboot也提供了很好的整合: 首先需要修改pom文件,去除springboot默认的日志框架,引入log4j支持。如下:<dependencies> <!--排除默认日志框架--> <dependency> <groupId>org.springfr

王树钰的博客 9620

c#.net使用正则表达式验证文本中是否包含手机号码或电话号码?

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Collections; namespace RegularPhoneApp { class Program

码农 3584

Unity插件UniWebView实战:UGUI动态调整内嵌网页尺寸与交互优化

本文详细解析了如何在Unity游戏中使用UniWebView插件实现内嵌网页的动态尺寸适配与深度交互。核心在于利用Reference Rect Transform属性,将网页窗口精准绑定至UGUI控件,并随其动态调整。文章进一步探讨了通过消息系统与JavaScript执行实现Unity与网页的双向通信,并提供了加载优化、过渡动画及事件拦截等实用技巧,助力开发者打造无缝、流畅的游戏内网页体验。

earth的博客 276

Spring Boot 如何使用 Log4j2 进行日志记录

本文介绍了如何在 Spring Boot 应用程序中使用 Log4j2 进行日志记录。首先,我们添加了 Log4j2 的依赖,然后在 resources 目录下创建了 log4j2.xml 文件,定义了日志输出目的地和日志记录器等配置。最后,我们在代码中使用 Log4j2 API 进行日志记录,并输出到控制台和文件中。Log4j2 具有强大的日志记录功能和灵活的配置方式,可以帮助我们更好地进行日志记录和管理。

程序猿徐师兄的博客 2051

VSCode玩转STM32:手把手教你配置EIDE插件与OpenOCD调试(附野火DAP配置文件详解)

本文详细介绍了如何在VSCode中配置EIDE插件与OpenOCD进行STM32开发,特别针对野火DAP调试器提供了配置文件详解。从基础环境搭建到深度调试技巧,帮助开发者高效完成STM32项目开发,实现现代化嵌入式开发工作流。

weixin_26905487的博客 553

Spring Boot项目使用Log4j2 + SLF4J记录日志

前面的文章总结说对Java工程师来说,日志工具的使用的最佳实践就是在应用中使用如Log4j + SLF4J 这样的组合来进行日志输出。今天就来记录一下在项目中使用Log4j2+SLF4J来记录日志。 依赖包配置 修改pom.xml文件,去掉spring boot项目默认引入的logging依赖,添加log4j2的依赖。 &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org....

还没见过大海 5821

新版CKA2020-2020-10-13-真题试卷

2020年10月13日 真题 新版CKA考试已于2020年9月1日正式上线! 考试模式:线上考试 考试时间:2小时 认证有效期:3年 软件版本:Kubernetes v1.19 重考政策:可接受1次重考 经验水平:中級 题目数量:17题 01 Task - 英文 Create a new ClusterRole named deployment-clusterrole that only allows the creation of the following resource types: Depl

随笔记录-分享&记忆 2394

YOLOv11改进 | Conv篇 | 图像去雾卷积DEConv助力yolov11有效涨点(部署零额外开销)

本文介绍了一种最新改进机制用于低层视觉任务的细节增强卷积(DEConv)机制。DEConv在训练阶段采用"普通卷积+差分卷积"的多分支并联结构,增强网络对边缘、纹理等细节特征的学习能力;在推理阶段可折叠为标准3×3卷积,保持与普通卷积相同的计算效率。文中详细阐述了DEConv的工作原理、实现方法以及在YOLOv11中的应用步骤,包括核心代码解析、模型修改方法和训练配置。实验表明,该机制在去雾、去噪、超分等强调细节重建的任务中具有显著优势。文章还提供了完整的代码实现和训练指导.

Snu77的博客 2434

Spring Boot整合Log4j

** 一、导入Log4j属性文件 ** ** 1、log4j.properties ** 注意,复制时要把每一行后面的空格去除 log4j.rootLogger=INFO,Console,File log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target=System.out...

鸭梨山大山大的博客 484

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Spring Boot log4j2的使用

log4j2Log4j2的使用创建工程添加Log4j2的依赖Log4j2 配置在resources中增加log4j2-spring.xml代码中使用启动可以看效果了 Log4j2的使用 Apache Log4j 2是Log4j 1的继承者。谁能猜到?: p)。 与它的前辈相比,Log4j 2在性能上有了显著的改进。它包含异步日志记录器并支持多个api,包括SLF4J、commons logging和java.util. logging。 在本文中,您将学习如何在Spring引导应用程序中集成和配置Log4j

专注于java,站在巨人头顶看世界 674

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Spring boot之log4j2按日期拆分日志

1、application.yml logging: config: classpath:log4j2.xml 2、log4j2.xml <?xml version="1.0" encoding="UTF-8"?> <Configuration monitorInterval="30"> <Properties> <!--系统变量 ${sys:logPath:-/var/logs} 读取系统变量logPath的值,如果为空则设

春风化雨 3225

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: Spring Boot7--使用@Async实现异步调用
下一篇: Spring Boot-9--事务
JavaMrSun
博客等级 码龄9年 27粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值