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>
<!- -异步记录日志 - 需要LMAX Disruptor的支持
-->
<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项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,用于生成日志。它的核心功能包括定义日志级别(如DEBUG、INFO、WARN、ERROR),配置日志输出目的...
Springboot 整合 log4j2 日志全解总结 本文主要介绍了 Springboot 整合 log4j2 日志的实现 шаги,旨在帮助开发者更好地理解日志框架在 Springboot 项目中的应用。 日志框架的重要性 在项目推进中,日志框架的...
spring boot 集成log4j2工程,多环境下使用不同的log4j2配置文件。 对应的博客地址:http://blog.csdn.net/woniu211111/article/details/54347846
在项目中,"springBootMybatis"这个压缩包文件可能包含了以下内容:Spring Boot的启动类、MyBatis的相关配置(如`mybatis-config.xml`)、Mapper接口及对应的XML映射文件、实体类、服务层接口和实现、以及Log4j2的...
本压缩包“springboot-log4j.zip”显然是关于如何在Spring Boot项目中集成和配置Log4j的实例代码。 首先,我们需要理解Spring Boot的日志系统。Spring Boot默认使用Logback作为其日志系统,但同时也支持其他日志...
2. **配置Log4j2**: Spring Boot默认的日志系统是Logback,因此我们需要自定义配置以使用Log4j2。在`src/main/resources`目录下创建一个名为`log4j2.xml`或`log4j2.json`的配置文件,例如: ```xml [%t] %-5...
本文将深入探讨如何在SpringBoot 2.x版本中整合Mybatis,并利用Log4j进行日志记录。 首先,让我们了解SpringBoot与Mybatis整合的基本步骤: 1. **添加依赖**:在`pom.xml`文件中,我们需要引入Spring Boot的...
**SpringBoot整合Log4j详解** 在Java开发中,日志记录是不可或缺的一部分,它能够帮助开发者追踪程序运行状态、定位错误以及进行性能分析。Spring Boot作为一款简化Spring应用初始搭建以及开发过程的框架,提供了对...
Log4j直接发送数据到Flume + Kafka (方式一) 通过flume收集系统日记, 收集的方式通常采用以下. 系统logs直接发送给flume系统, 本文主要记录种方式进行说明. 文章链接,请看:...
本示例源码将展示如何在Spring Boot项目中集成和使用Log4j进行日志管理。 首先,我们需要在Spring Boot项目的`pom.xml`文件中添加Log4j的依赖。确保你的Maven依赖中有以下内容: ```xml <groupId>org.spring...
SpringBoot集成slf4j+log4j2的示例代码 在本文中,我们将介绍如何在SpringBoot项目中集成slf4j和log4j2,以实现更好的日志记录和管理。Slf4j是一个通用的日志接口,log4j2是一个具体的日志实现框架,两者结合使用...
springboot2+log4j2简单demo,以后开发,需要用到哪种配置,或者需要集成log,直接使用demo的代码就可以了。 而且本demo对新手友好,简单的配置不会删除。也同时保有略复杂的配置 ##v1.0 因为springboot2的log4j2自动...
5. **在SpringBoot中集成Log4J**: 首先,需要在项目中引入Log4J的依赖。然后,在资源目录下创建`log4j.properties`或`log4j2.xml`配置文件,设置日志输出级别、目标和格式。SpringBoot会自动识别并加载这个配置,...
此springboot--demo集成了以下组件,demo如无法运行、或缺失相应组件demo无法调用可以私聊52fighting https://blog.csdn.net/qq_25073261/article/details/105517616 ...12. Log4j2 13. poi excel
【标题】"IDEA下springboot+mybatis+log4j"所涉及的知识点主要集中在Java开发环境的集成、Spring Boot框架的应用、MyBatis持久层框架的使用以及日志管理工具Log4j和SLF4J的配置与实践。 首先,IntelliJ IDEA(简称...
在SpringBoot中集成Log4j2,我们需要在资源目录下创建log4j2.xml或log4j2.json配置文件,定义日志级别、输出格式和目的地。 这个"template-master"可能是项目模板,包含了一个完整的配置示例。在这个模板中,你可能...
知识点2:SpringBoot集成HBase的依赖 要将SpringBoot集成HBase,需要添加以下依赖项: * spring-data-hadoop-hbase:提供了HBase的依赖项,版本号为2.5.0.RELEASE。 * hbase-client:提供了HBase的客户端依赖项,...
本资源包含的是关于`SpringMVC`、`Log4j2`、`Logback`以及`Jackson`的日志脱敏实现源码,提供了多种实现方式,旨在帮助开发者在保障信息安全的同时,充分利用日志进行系统分析。 1. **基于正则表达式的日志脱敏实现...
本篇文章将深入探讨如何基于SpringBoot集成Jersey框架,同时利用Redis作为缓存,Druid作为数据源连接池,MyBatis作为持久层框架,以及Log4j2进行日志管理,从而打造一个强大的微服务应用。 首先,SpringBoot简化了...
在本文中,我们将深入探讨如何在SpringBoot 2应用程序中集成Log4j2日志框架。Log4j2是Log4j的升级版,它带来了许多改进,包括更好的性能和可扩展性,使得它成为现代Java应用日志记录的理想选择。在某些情况下,特别...