当前位置: 首页 > news >正文

SpringMVC log4j1升级log4j2

整个升级过程耗时5个小时,中间耗时最长的是找合适的包和升级后日志无法打印以及无法控制日志输出位置,完成后感觉其实很简单,如果一开始就能看到我现在写的笔记,可能几分钟就搞定了。

第一步:首先上log4j2所需要的包
使用版本2.16.0:(以下两个必须同步升级到2.16.0,否则运行会报错)

log4j-core:https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.16.0

log4j-api:https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api/2.16.0

其它相关组件,建议也升级:

log4j-slf4j-impl:https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j-impl/2.16.0

log4j-jul:https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-jul/2.16.0

到这里只要下载完成放到项目中基本上已经完成一半了;

第二步:删除项目中原来的log4j和slf4j-api

第三步:配置简单的log4j2.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<configuration status="warn" monitorInterval="5"><!--定义Log4j2的组件--><Appenders><!--        定义控制台输出的组件--><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] [%-5level] %c{36}:%L --- %m%n"/></Console><!--        定义文件输出的组件--><File name="file" fileName="D:/LOGS/myfile.log"><PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %m%n"/></File><!--        定义一个文件输出日志组件--><RandomAccessFile name="accessFile" fileName="D:/LOGS/myAcclog.log"><PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %m%n"/></RandomAccessFile><!--        定义一个可滚动的文件输出日志组件--><RollingFile name="rollingFile" fileName="D:/LOGS/myrollog.log"filePattern="D:/LOGS/$${date:yyyy-MM-dd}/myrollog-%d{yyyy-MM-dd-HH-mm}-%i.log"><ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/><PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %c{36} - %msg%n"/><Policies><OnStartupTriggeringPolicy/><SizeBasedTriggeringPolicy size="10 MB"/><TimeBasedTriggeringPolicy/></Policies><DefaultRolloverStrategy max="30"/></RollingFile></Appenders><Loggers><!--        设置日志级别是TRACE,等于以及高于此级别的日志才会输出--><Root level="trace"><AppenderRef ref="Console"/><AppenderRef ref="file"/><AppenderRef ref="accessFile"/><AppenderRef ref="rollingFile"/></Root></Loggers>
</configuration>

第五步:在web.xml中添加配置

  <context-param><param-name>log4jConfiguration</param-name><param-value>classpath:log4j2.xml</param-value></context-param>

到这里大功告成,等项目编译完成重启即可。

http://www.lryc.cn/news/233782.html

相关文章:

  • MATLAB算法实战应用案例精讲-【图像处理】机器视觉(基础篇)(十一)
  • UE的PlayerController方法Convert Mouse Location To World Space
  • 【Qt之QStandardItemModel】使用,tableview、listview、treeview设置模型
  • mongodb 6/7的 windows安装问题
  • 网站建设所需要的主要资源相关介绍
  • 互联网上门预约洗衣洗鞋店小程序;
  • OSPF开放最短路径优先(Open Shortest Path First)协议
  • 数据结构(c语言版本) 字符串操作
  • 【Pyqt5】windows和linux安装Pyqt5+designer
  • 【FPGA】Verilog:升降计数器 | 波纹计数器 | 约翰逊计数器 | 实现 4-bit 升降计数器的 UP/DOWN
  • 使用uniapp写小程序,真机调试的时候不显示log
  • hive数据库delete删除部分数据/删除分区内的数据
  • C/C++条件编译:#ifdef、#else、#endif等
  • 基于51单片机步进电机节拍步数正反转LCD1602显示( proteus仿真+程序+原理图+设计报告+讲解视频)
  • Vim 从何而来?
  • Auto.js 清除指定应用缓存
  • [EFI]Surface Pro 4电脑 Hackintosh 黑苹果引导文件
  • 【Java 进阶篇】深入浅出:JQuery 事件绑定的奇妙世界
  • Pair用法示例:
  • rpc依赖安装
  • 文件存储服务 实时通信服务 HTTP通信协议
  • Redis - 订阅发布替换 Etcd 解决方案
  • Hessian协议详解
  • 【AI视野·今日Sound 声学论文速览 第三十六期】Mon, 30 Oct 2023
  • Android Jetpack的组件介绍,常见组件解析
  • ImportError: cannot import name ‘url_quote‘ from...
  • 一文看分布式锁
  • Jenkins自动化部署一个Maven项目
  • K8S1.23.5部署(此前1.17版本步骤囊括)及问题记录
  • 基于java web的中小型人力资源管理系统