springboot集成log4j2

Log4j2日志记录框架的使用教程与简单实例 1、Log4j2的使用教程 1.1简介 Log4j的1.x版本虽然已经被广泛使用于很多应用程序中,但由于出现内存泄漏等bug,代码难以维护,以及需要使用老版本的jdk等劣势,在2015年8月已经玩完。它的替代品,SLF4J,Logback,Log4j2对日志框架做了很多必要的改进。 历史上出现了很多的日记框架,如: Log4j:Apache Log4j是一个基于Java的日志记录工具。它... 阅读详情

1 先将SpringBoot自带的日志存储Logback禁用

<dependency>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-data-jpa</artifactId>  
    <exclusions>  
        <exclusion>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-logging</artifactId>  
        </exclusion>  
    </exclusions>  
</dependency>  

2 删掉log4j的依赖,引入log4j2的包

<dependency>  
   <groupId>org.springframework.boot</groupId>  
   <artifactId>spring-boot-starter-log4j2</artifactId>  
</dependency>  
<!- -<code class="xml comments">异步记录日志 - 需要LMAX Disruptor的支持</code>  -->  
<dependency>  
 <groupId>com.lmax</groupId>  
 <artifactId>disruptor</artifactId>  
 <version>3.3.6</version>  
</dependency>  
<!-- 加入log4j和log4j2的连接包,这样不用修改代码就能从log4j直接升级到log4j2 -->  
<dependency>  
   <groupId>org.apache.logging.log4j</groupId>  
   <artifactId>log4j-1.2-api</artifactId>  
   <version>2.7</version>  
</dependency>  

3 在src/main/resource加入log4j2-spring.xml配置文件,取名一定是log4j2-spring,这样省的在application.yml配置

<?xml version="1.0" encoding="UTF-8"?>  
<!--设置log4j2的自身log级别为warn-->  
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->  
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,  
   当设置成trace时,你会看到log4j2内部各种详细输出-->  
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->  
<configuration status="warn" monitorInterval="30">  
   <!--先定义所有的appender-->  
   <appenders>  
       <!--这个输出控制台的配置-->  
       <console name="Console" target="SYSTEM_OUT">  
           <!--输出日志的格式-->  
           <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>  
       </console>  
       <!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用-->  
       <File name="log" fileName="log/test.log" append="false">  
           <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>  
       </File>  
       <!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,  
       则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->  
       <RollingFile name="RollingFileInfo" fileName="${sys:user.home}/logs/hpaasvc/info.log"  
                    filePattern="${sys:user.home}/logs/hpaasvc/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">  
           <Filters>  
               <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->  
               <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>  
               <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>  
           </Filters>  
           <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>  
           <Policies>  
               <TimeBasedTriggeringPolicy/>  
               <SizeBasedTriggeringPolicy size="100 MB"/>  
           </Policies>  
           <!--自动删除超过120天的日志压缩文件-->  
           <DefaultRolloverStrategy>  
               <Delete basePath="${baseDir}" maxDepth="2">  
                   <IfFileName glob="*/baseCollection-*.log.gz"/>  
                   <IfLastModified age="120d"/>  
               </Delete>  
           </DefaultRolloverStrategy>  
       </RollingFile>  
  
       <RollingFile name="RollingFileWarn" fileName="${sys:user.home}/logs/hpaasvc/warn.log"  
                    filePattern="${sys:user.home}/logs/hpaasvc/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log">  
           <Filters>  
               <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>  
               <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>  
           </Filters>  
           <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>  
           <Policies>  
               <TimeBasedTriggeringPolicy/>  
               <SizeBasedTriggeringPolicy size="100 MB"/>  
           </Policies>  
           <!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20 -->  
           <DefaultRolloverStrategy max="20"/>  
       </RollingFile>  
  
       <RollingFile name="RollingFileError" fileName="${sys:user.home}/logs/hpaasvc/error.log"  
                    filePattern="${sys:user.home}/logs/hpaasvc/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log">  
           <ThresholdFilter level="ERROR"/>  
           <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>  
           <Policies>  
               <TimeBasedTriggeringPolicy/>  
               <SizeBasedTriggeringPolicy size="100 MB"/>  
           </Policies>  
       </RollingFile>  
  
   </appenders>  
   <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->  
   <loggers>  
       <!--过滤掉spring和hibernate的一些无用的debug信息-->  
       <logger name="org.springframework" level="INFO">  
       </logger>  
       <logger name="org.mybatis" level="INFO">  
       </logger>  
       <AsyncRoot level="all">  
           <appender-ref ref="Console"/>  
           <appender-ref ref="RollingFileInfo"/>  
           <appender-ref ref="RollingFileWarn"/>  
           <appender-ref ref="RollingFileError"/>  
       </AsyncRoot>  
   </loggers>  
  
</configuration>  
SpringBoot集成Log4j2 SpringBoot中集成log4j2 阅读详情

相关推荐

Spring Boot集成Log4j2.yml

1).Gradle依赖build.gradle配置 去掉默认日志,加载其他日志,spring boot提供log4j2的解决方案,如下配置: subprojects节点中加入 ---------------- configurations { all*.exclude module: 'spring-boot-starter-logging' } dependencies {...

xiaowen555555 4815

log4j2日志框架配置+日志记录写入数据库

import com/*** @description: TODO 单例模式数据库连接工厂方法static {// 验证数据源配置是否正确,尝试获取连接 try(Connection testConnection = druidDataSource . getConnection()) {= null) {} else {} } /*** 获取数据库连接。* @return 数据库连接对象。

伊甸园的博客 2519

Windows 64 位系统下安装配置 DOSBox 及 debug.exe

该篇博客同样作为类似问题 “如何在 Windows 64 位系统下进入 debug” 的答案。 很多同学初看王爽的《汇编语言》,或者因为其它原因需要进入 debug 调试模式下学习汇编语言的时候,会发现进入不了,出现类似以下的错误提示。 这是因为他们使用的是 64 位的 Windows 系统(Win 7,Win 8 以及 Win 10 等),而 64 位 Windows 系统不再支持在命令提示符窗口下进入 debug 调试模式。那么对于使用 64 位 Windows 系统的用户来说,该怎样才能够顺利进入 d

加号减减号的博客 5万+

springboot使用log4j2且配置文件中引用pom变量

springboot在log4j2配置文件中引用pom变量 引入log4j2 首先需要引入log4j2,而spring boot默认使用的是logback,需要排除默认的log组件。logback性能不如log4j2优秀,所以我们换成log4j2。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifa

ibigboy 2953

用SimaPro做碳足迹分析:手把手教你完成产品生命周期评估报告

本文详细介绍了如何使用SimaPro进行碳足迹分析,从软件安装到生命周期评估报告的完整流程。通过实战案例演示,帮助制造业企业、咨询机构和科研团队掌握产品生命周期评估(LCA)的核心技术,精准识别环境热点并优化决策,为可持续发展转型提供科学依据。

yhn45678901的博客 715

ERDAS 2022与ArcGIS共存安装教程:如何避免端口冲突(详细配置步骤)

本文提供了一份详细的ERDAS 2022与ArcGIS共存安装教程,核心在于解决两者因FlexNet许可证服务器导致的端口冲突问题。通过分步指导,包括检查现有端口占用、修改ERDAS许可证文件端口号、配置防火墙及客户端设置,确保两款专业GIS与遥感软件能在同一系统上稳定运行。

weixin_29279047的博客 253

log4j2 的使用

log4j2的使用

lixuanhong的博客 771

矩形口径喇叭天线设计——参数设置

我们建立好矩形口径喇叭天线的模型后(模型建立可参考B站相关视频或者李明洋的《HFSS天线设计》),如何修改参数达到我们的指标呢?

m0_57263863的博客 1万+

log4j和log4j2配置详解

文章目录1 log4j或log4j2配置详解1.1 pom.xml文件1.2 log4j.properties的引用1.3 log4j.properties的说明1.3.1 rootLogger文件1.3.2 输出目的地appender文件1.3.2.1 ConsoleAppender1.3.2.2 FileAppender1.3.2.3 DailyRollingFileAppender1.3.2...

上善若泪 6096

四轮两驱小车(四):STM32驱动5路灰度传感器PID循迹

之前买了一批5路灰度传感器,想用这传感器进行循迹,无奈网上和官方的资料提供的还是比较少,这里还是做一下当初的学习记录。

weixin_51651698的博客 6万+

【SOUND】Linux音频子系统ASoC的驱动框架总分析

ALSA系统在芯片(ASoC)层的总体项目目标是为嵌入式芯片处理器(例如PXA2XX,AU1X00,IMX等)和便携式音频编解码器提供更好的ALSA支持。 在进入ASoC子系统之前,内核对SoC音频有一些支持,但是它有一些局限性:ASoC层旨在解决这些问题并提供以下内容特征 :为了实现这一切,ASoC基本上将嵌入式音频系统分为多个可重复使用的组件驱动程序:另外,这里提下OSS(Open Sound System)这个基本被弃用的音频框架。 可以参考Linux OSS架构声卡驱动框架 2.3 ASoC重要

wang 恒 的博客 1783

springboot集成log4j2,日志不输出到文件

现在所有的项目都要集成公司统一鹰眼系统,方便系统日志的统一管理,日志分析,日志的维护。于是看了看鹰眼系统,集成必须要求日志框架为log4j2,看之前的项目基本都是log4j,于是看了看log4j和log4j2的区别。发现以前竟然没关注到这个东西,说实在感觉很惭愧。于是简单的总结了几点区别。 ...

chouyandeng3609的博客 6257

【系统架构设计师】论文模板样例:论软件系统架构风格

本人于年月参与项目,该系统为*,在该项目组中我担任系统架构师岗位,主要负责系统整体架构设计。本文以该车联网项目为例,主要讨论了软件架构风格在该项目中的具体应用。底层架构风格我们采用了虚拟机风格中的解释器,因该公交共有几十种不同的数据协议,使用解释器风格可以满足整车数据协议兼容性需求;中间层关于应用层的数据流转采用了独立构件风格中的隐式调用,以减低系统间耦合度、简化软件架构,提高可修改性方面的架构属性;应用系统层采用了B/S的架构风格,统一解决公交行业性难题“实施推广难、维护难”问题。

数据知道的博客 9928

springboot日志集成log4j2

springboot日志集成log4j2使用步骤 使用步骤 在spring-boot-dependencies POMs中搜索spring-boot-starter-log4j2发现Spring boot parent Pom中自己提供了这个依赖,我们使用log4j2只需要加入相应的依赖,不包含版本号: 修改pom.xml文件 <dependency> <groupId>org.springframework.boot</groupId> <arti

GanYangBa的博客 272

LangChain面试内容整理-知识点27:LangChain性能调优

LLM应用可能面临响应慢、成本高等性能问题。LangChain提供了一些优化方法和经验来提升性能和效率。

不务正业的猿 328

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

SpringBoot集成log4j2

springboot集成log4j2

walker_xingruiguo的博客 1414

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Spring boot集成log4j2

spring boot默认使用的是logback作为日志框架,那如何使用log4j2呢?下面就给大家介绍一下集成步骤: 此处我使用的是spring boot 2.1.2 1.新建一个spring boot项目,配置log4j2依赖 &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;project xmlns="http://mave...

老徐的博客只有干货 9686

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

springboot 集成Log4j2

一、Log4j2的介绍 Log4j是Apache下的一开源项目,通过使用Log4j可以将日志信息打印到控制台、文件等。我们也可以控制每一条日志的输出格式,通过定义每一条日志信息的级别能够更加细致地控制日志的生成过程。 在应用程序中添加日志记录有三个目的: 1、监视代码中变量的变化,周期性地记录到文件中,供其他应用进行统计分析 2、跟踪代码运行时的轨迹,作为日后审计的依据 3、担当集成开发...

GSON的博客 2623

SpringBoot集成Log4j2日志框架

一. 前言       spring boot支持的日志框架有,Logback,Log4j2,Log4j和Java Util  Logging,默认使用的是Logback日志框架,如果要使用别的日志框架,必须让spring boot项目不使用Logback。   二.集成log4j2 修改pom.xml文件,添加以下内容,去除Logback的依赖包,添加Log4j2的依赖包 ...

yh_zeng2的博客 7304

SpringBoot 集成log4j2

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33982670的博客 1487

Spring Boot 2.x 集成 SLF4j + log4j2 日志框架

目录 Apache log4j2 日志框架概述 Spring Boot 2.x 集成 SLF4j + log4j2 日志框架 Apache log4j2 日志框架概述 1、log4j2 在目前 JAVA 中的日志框架里,异步日志的性能是最高的,没有之一。 2、从2.6版本开始 log4j2 默认就以零 GC 模式运行,即不会由于 log4j2 而导致 GC,log4j2 中各种 Message对象,字符串数组,字节数组等全部复用,不重复创建,大大减少了无用对象的创建,从而做到“零GC”。 3、L

蚩尤后裔-汪茂雄 6599

Spring Boot中Log4j 2集成与优化实践指南

在大型项目中,不同模块可能需要不同的日志级别。例如,某些核心模块可能需要更详细的DEBUG级别日志,以便开发人员能够深入分析其内部逻辑;而其他辅助模块则保持INFO级别即可,以避免日志文件过于庞大。Log4j 2允许我们通过配置文件灵活地为不同的包或类设置日志级别,这种灵活性使得日志管理更加精准,能够满足不同模块的个性化需求。

1278

Spring Boot系列——如何集成Log4j2

上篇《Spring Boot系列——日志配置》介绍了Spring Boot如何进行日志配置,日志系统用的是Spring Boot默认的LogBack。 事实上,除了使用默认的LogBack,Spring Boot还可以使用Log4j、Log42等作为自己的日志系统。今天就那Log4j2来举例,说明Spring Boot是如何集成其他日志系统的。 添加jar包依赖 上篇提到过,Spring...

baixieyun4655的博客 365
上一篇: java8 使用lamda遍历list同时获取list下标
下一篇: kafka命令(2.12版本)
lfwer
博客等级 码龄18年 8粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值