第一步:修改pom文件

      <!-- Spring Boot Starter WebFlux (排除默认日志) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId><version>${spring-boot.version}</version><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency><!-- 添加Log4j2 Starter --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId><version>${spring-boot.version}</version></dependency>

第二不:pom添加关键依赖

<!-- 添加Log4j2核心依赖 --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>${log4j2.version}</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>${log4j2.version}</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>${log4j2.version}</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-jul</artifactId><version>${log4j2.version}</version></dependency>
<!-- 添加Log4j2版本属性 -->
<log4j2.version>2.17.2</log4j2.version>
<spring-boot.version>2.7.18</spring-boot.version>第三步:在resources文件夹下面新建log4j2.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30" name="log4j2"><Properties><!-- 日志保存路径 --><Property name="LOG_PATH">logs</Property><!-- 美化后的控制台日志模式 - 彩色日志 --><Property name="CONSOLE_LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight{%-5level} [%-20.20t] %style{%logger{36}}{cyan} : %msg%n</Property><!-- 美化后的文件日志模式 --><Property name="FILE_LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss.SSS} [%-20.20t] %-5level %logger{36} - %msg%n</Property></Properties><Appenders><!-- 彩色控制台输出 --><Console name="CONSOLE" target="SYSTEM_OUT"><PatternLayout pattern="${CONSOLE_LOG_PATTERN}" disableAnsi="false"/></Console><!-- DEBUG级别文件输出 --><RollingFile name="DEBUG_FILE" fileName="${LOG_PATH}/log_debug.log"filePattern="${LOG_PATH}/debug/log-debug-%d{yyyy-MM-dd}-%i.log"><PatternLayout pattern="${FILE_LOG_PATTERN}"/><Filters><ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/></Filters><Policies><TimeBasedTriggeringPolicy interval="1" modulate="true"/><SizeBasedTriggeringPolicy size="10MB"/></Policies><DefaultRolloverStrategy max="15"/></RollingFile><!-- INFO级别文件输出 --><RollingFile name="INFO_FILE" fileName="${LOG_PATH}/log_info.log"filePattern="${LOG_PATH}/info/log-info-%d{yyyy-MM-dd}-%i.log"><PatternLayout pattern="${FILE_LOG_PATTERN}"/><Filters><ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/></Filters><Policies><TimeBasedTriggeringPolicy interval="1" modulate="true"/><SizeBasedTriggeringPolicy size="10MB"/></Policies><DefaultRolloverStrategy max="15"/></RollingFile><!-- WARN级别文件输出 --><RollingFile name="WARN_FILE" fileName="${LOG_PATH}/log_warn.log"filePattern="${LOG_PATH}/warn/log-warn-%d{yyyy-MM-dd}-%i.log"><PatternLayout pattern="${FILE_LOG_PATTERN}"/><Filters><ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/></Filters><Policies><TimeBasedTriggeringPolicy interval="1" modulate="true"/><SizeBasedTriggeringPolicy size="10MB"/></Policies><DefaultRolloverStrategy max="15"/></RollingFile><!-- ERROR级别文件输出 --><RollingFile name="ERROR_FILE" fileName="${LOG_PATH}/log_error.log"filePattern="${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}-%i.log"><PatternLayout pattern="${FILE_LOG_PATTERN}"/><Filters><ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/></Filters><Policies><TimeBasedTriggeringPolicy interval="1" modulate="true"/><SizeBasedTriggeringPolicy size="10MB"/></Policies><DefaultRolloverStrategy max="15"/></RollingFile><!-- 异步Appender提高性能 --><Async name="ASYNC_DEBUG" bufferSize="1024"><AppenderRef ref="DEBUG_FILE"/></Async><Async name="ASYNC_INFO" bufferSize="1024"><AppenderRef ref="INFO_FILE"/></Async><Async name="ASYNC_WARN" bufferSize="1024"><AppenderRef ref="WARN_FILE"/></Async><Async name="ASYNC_ERROR" bufferSize="1024"><AppenderRef ref="ERROR_FILE"/></Async></Appenders><Loggers><!-- 项目特定包日志级别 --><Logger name="com.jdlt" level="debug" additivity="false"><AppenderRef ref="CONSOLE"/><AppenderRef ref="ASYNC_DEBUG"/><AppenderRef ref="ASYNC_INFO"/><AppenderRef ref="ASYNC_WARN"/><AppenderRef ref="ASYNC_ERROR"/></Logger><!-- 减少Spring框架的日志输出 --><Logger name="org.springframework" level="info"/><Logger name="org.apache" level="info"/><Logger name="reactor" level="info"/><Root level="info"><AppenderRef ref="CONSOLE"/><AppenderRef ref="ASYNC_DEBUG"/><AppenderRef ref="ASYNC_INFO"/><AppenderRef ref="ASYNC_WARN"/><AppenderRef ref="ASYNC_ERROR"/></Root></Loggers>
</Configuration>

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

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

相关文章

理解虚拟 DOM:前端开发中的高效渲染利器

在前端开发中&#xff0c;我们经常听到 虚拟 DOM&#xff08;Virtual DOM&#xff09; 这个概念。它是 React、Vue 等框架的核心机制之一&#xff0c;用来提升性能和简化开发。那么&#xff0c;虚拟 DOM 到底是什么&#xff1f;为什么要用它&#xff1f;又是如何工作的呢&#…

GraphRAG数据可视化

GraphRAG数据可视化

vue/react项目如何跳转到一个已经写好的html页面

如果是一个你copy的别人的网站&#xff0c;某些页面是已经可以直接使用的&#xff0c;但是有些页面需要在vue/react项目中重新二次调整加工&#xff0c;这个时候&#xff0c;就需要将html文件和vue/react项目结合&#xff0c;当某些页面可以直接使用&#xff0c;就直接跳转到这…

MYSQL-表的约束(下)

目录 自增长 唯一键 外键 自增长 MySQL自增长&#xff08;Auto-Increment&#xff09; 是一种字段属性&#xff0c;用于为表中的记录自动生成唯一的连续整数&#xff0c;常作为主键或唯一标识字段使用&#xff0c;避免手动输入重复值。 核心特性 1. 自动赋值&#xff1a…

《UE5_C++多人TPS完整教程》学习笔记44 ——《P45 倾斜与侧向移动(Leaning And Strafing)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P45 倾斜与侧向移动&#xff08;Leaning And Strafing&#xff09;》 的学习笔记&#xff0c;该系列教学视频为计算机工程师、程序员、游戏开发者、作家&#xff08;Engineer, Programmer, Game Developer, Author&…

使用docker搭建嵌入式Linux开发环境

文章目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言 在日常开发全志、rk等不同平台时&#xff0c;大多数时候只有一个编译主机&#xff0c;但不同sdk所需要的编译环境可能不同。所以本文将记录使用docker为每个平台创建独立的开发环境。 2、安装docker # 1…

【开题答辩全过程】以基于Android的校园跳蚤市场交易系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

【学习笔记】GB 42250-2022标准解析

随着数字化转型的加速推进和网络安全威胁的日益复杂化&#xff0c;网络安全专用产品作为保护关键信息基础设施的第一道防线&#xff0c;其安全性和可靠性受到国家的高度重视。GB 42250-2022《信息安全技术 网络安全专用产品安全技术要求》作为一项强制性国家标准&#xff0c;于…

QML开发踩坑记:从MVVM到QWidget的挣扎

如题&#xff1a;最近这一周在开发的时候被qml不友好的前端框架打败了。首先&#xff0c;我没深入&#xff08;系统的&#xff09;学习过前端的内容&#xff0c;就是在学习Qt的时候了解到了qwidget&#xff0c;后来发现美化不太足的样子&#xff0c;外加AI十分推崇基于QML的MVV…

[Mysql数据库] 知识点总结5

1. 什么是“最少权限原则”&#xff1f;答&#xff1a;应用最少权限原则就是仅为用户授予高效地完成任务所需的权限&#xff0c;除此之外的任何权限均不能授 予&#xff0c;这可以降低用户修改或查看&#xff08;无意或恶意&#xff09;他们无权修改或查看的数据的机率&#xf…

储能变流器学习之MPPT

MPPT最大功率点追踪技术详解 引言 在可再生能源系统中&#xff0c;最大化能量捕获效率是核心目标。无论是光伏发电系统还是储能变流器&#xff08;PCS&#xff09;&#xff0c;最大功率点追踪&#xff08;MPPT&#xff09; 技术都是实现这一目标的关键。本文将深入探讨MPPT技术…

qData 数据中台完整功能介绍 —— 商业版与开源版功能对比

一、qData 数据中台概览 在数字化转型的大背景下&#xff0c;数据已经成为企业最核心、最具价值的资产。qData 数据中台&#xff0c;作为企业数据治理与应用的关键平台&#xff0c;凭借高性能与创新理念脱颖而出。它秉持 “高效、安全、灵活、开放” 的设计原则&#xff0c;致力…

Xshell 自动化脚本大赛技术文章大纲

一、引言1.1 大赛背景与意义介绍 Xshell 在运维、开发等领域的广泛应用&#xff0c;强调自动化脚本对于提升效率、减少错误的重要性。阐述大赛旨在激发用户创新&#xff0c;挖掘 Xshell 自动化脚本更多潜力&#xff0c;促进技术交流与共享。1.2 目标受众明确文章面向熟悉基本 L…

Python 数据分析学习笔记:Pandas 逻辑运算

&#x1f539; DA9&#xff1a;2020年毕业且使用Java的用户&#x1f4cc; 题目描述筛选出 2020年毕业 且 常用语言为 Java 的用户&#xff0c;输出他们的全部信息&#xff0c;并设置显示选项以完整显示数据。✅ 正确代码import pandas as pd# 读取数据 Nowcoder pd.read_csv(N…

图像边缘检测

目录 一.图像边缘检测 1.图像边缘检测概述 2.Sobel算子原理与实现 3.Scharr算子 4.Laplacian算子 5.Canny边缘检测&#xff08;重点&#xff09; 6.效果对比 一.图像边缘检测 1.图像边缘检测概述 2.Sobel算子原理与实现 代码是实现步骤&#xff1a; 边缘检测是图像处…

zookeeper-znode解析

一. 数据模型&#xff1a;ZK拥有一个命名空间就像一个精简的文件系统&#xff0c;不同的是它的命名空间中的每个节点拥有它自己或者它下面子节点相关联的数据。ZK中必须使用绝对路径也就是使用“/”开头。二. znode&#xff1a;zk目录树中每个节点对应一个znode。每个znode维护…

Redis 高可用篇

主从复制是怎么实现的&#xff1f; 如果服务器发生了宕机&#xff0c;由于数据恢复是需要点时间&#xff0c;那么这个期间是无法服务新的请求的&#xff1b;如果这台服务器的硬盘出现了故障&#xff0c;可能数据就都丢失了。 要避免这种单点故障&#xff0c;最好的办法是将数据…

C++ 指针与引用面试深度解析

C 指针与引用面试深度解析面试官考察指针和引用&#xff0c;不仅是考察语法&#xff0c;更是在考察你对C中 “别名” (Aliasing) 与 “地址” (Addressing) 这两种间接访问机制的理解&#xff0c;以及你对 “代码安全” 和 “接口设计” 的思考深度。第一部分&#xff1a;核心知…

LinuxC语言线程的同步与互斥

一.线程的同步与互斥1. 基础概念:1.1 互斥&#xff1a;对共享资源的访问&#xff0c;同一时刻只允许一个访问者进行访问&#xff0c;互斥具有唯一和排他性&#xff0c;互斥无法保证对共享资源的访问顺序1.2 同步: 在互斥的基础上&#xff0c;实现对共享资源的有序访问。2. 互斥…

Centos 7.6离线安装docker

在内网环境下&#xff0c;一般不能联网在线部署&#xff0c;这时候就需要以离线的方式安装docker。本节内容主要总结一下在CentOS 7.6环境中离线安装docker的步骤。 1、下载docker安装包 https://pan.baidu.com/share/init?surlPaUllQZ-dwpgJ7quA5IkcQ&pwd4sfc 2、上传到服…