log4j1.2.16 升级到log4j2.1.17

log4j漏洞修复升级jar包(log4j-1.2-api-2.17.0.jar) 立即下载

升级背景:引用apache log4j2官网描述,有严重的漏洞;加上公司维护的WEB应用使用了非常落后的版本为log4j-1.2.16和log4j1.x生命周期已经于2015年结束。注意log4j1.x与log4j2.x是两个不兼容的版本。

log4j2.17.1基于JDK1.8编译,所以必须将log4j的应用程序的运行JDK升级到1.8或更高版本

删除旧版本JAR包
删除WEB根目录的WEB-INF/lib旧版本log4j1.x相关的jar包:

commons-logging-1.1.jar
log4j-1.2.16.jar
slf4j-api-*.jar
slf4j-log4j12-1.5.0.jar
slf4j-simple-1.5.2.jar
删除log4j1.x的日志配置文件
删除WEB根目录的WEB-INF/log4j.xml

新增log4j2的jar包依赖

WEB-INF/lib新增以下jar包:

log4j-1.2-api-2.17.2.jar

log4j-api-2.17.2.jar

log4j-core-2.17.2.jar

log4j-jcl-2.17.2.jar

log4j-jul-2.17.2.jar

log4j-slf4j18-impl-2.17.2.jar

log4j-web-2.17.2.jar

slf4j-api-1.7.9.jar

slf4j-simple-1.7.9.jar

新增log4j2的日志配置文件

WEB-INF下新增llog4j2.xml日志配置文件

原来的log4j.xml已经不适应 log4j.properties也没用了

只能用log4j2.xml或json格式 放在classpath下面

参考:

WEB应用log4j1.x升级到log4j2.17.1_huangrusheng_23的博客-优快云博客

log4j2.xml格式:

<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<configuration status="WARN" monitorInterval="1800">

	<Properties>
		<!-- ==============================================公共配置============================================== -->
		<!-- 设置日志文件的目录名称 -->
		<property name="logFileName">xxxxxLog4jLog</property>

		<!-- 日志默认存放的位置,可以设置为项目根路径下,也可指定绝对路径 -->
		<!-- 存放路径一:通用路径,window平台 -->
		<!-- <property name="basePath">d:/logs/${logFileName}</property> -->
		<!-- 存放路径二:web工程专用,java项目没有这个变量,需要删掉,否则会报异常,这里把日志放在web项目的根目录下 -->
		<!-- <property name="basePath">${web:rootDir}/${logFileName}</property> -->
		<!-- 存放路径三:web工程专用,java项目没有这个变量,需要删掉,否则会报异常,这里把日志放在tocmat的logs目录下 -->
		<property name="basePath">${sys:catalina.home}/logs/${logFileName}</property>

		<!-- 控制台默认输出格式,"%-5level":日志级别,"%l":输出完整的错误位置,是小写的L,因为有行号显示,所以影响日志输出的性能 -->
		<property name="console_log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %l - %m%n</property>
		<!-- 日志文件默认输出格式,不带行号输出(行号显示会影响日志输出性能);%C:大写,类名;%M:方法名;%m:错误信息;%n:换行 -->
		<!-- <property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %C.%M - %m%n</property> -->
		<!-- 日志文件默认输出格式,另类带行号输出(对日志输出性能未知);%C:大写,类名;%M:方法名;%L:行号;%m:错误信息;%n:换行 -->
		<property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %C.%M[%L line] - %m%n</property>

		<!-- 日志默认切割的最小单位 -->
		<property name="every_file_size">20MB</property>
		<!-- 日志默认输出级别 -->
		<property name="output_log_level">DEBUG</property>

		<!-- ===========================================所有级别日志配置=========================================== -->
		<!-- 日志默认存放路径(所有级别日志) -->
		<property name="rolling_fileName">${basePath}/all.log</property>
		<!-- 日志默认压缩路径,将超过指定文件大小的日志,自动存入按"年月"建立的文件夹下面并进行压缩,作为存档 -->
		<property name="rolling_filePattern">${basePath}/%d{yyyy-MM}/all-%d{yyyy-MM-dd-HH}-%i.log.gz</property>
		<!-- 日志默认同类型日志,同一文件夹下可以存放的数量,不设置此属性则默认为7个,filePattern最后要带%i才会生效 -->
		<property name="rolling_max">500</property>
		<!-- 日志默认同类型日志,多久生成一个新的日志文件,这个配置需要和filePattern结合使用;
                如果设置为1,filePattern是%d{yyyy-MM-dd}到天的格式,则间隔一天生成一个文件
                如果设置为12,filePattern是%d{yyyy-MM-dd-HH}到小时的格式,则间隔12小时生成一个文件 -->
		<property name="rolling_timeInterval">12</property>
		<!-- 日志默认同类型日志,是否对封存时间进行调制,若为true,则封存时间将以0点为边界进行调整,
                如:现在是早上3am,interval是4,那么第一次滚动是在4am,接着是8am,12am...而不是7am -->
		<property name="rolling_timeModulate">true</property>

		<!-- ============================================Info级别日志============================================ -->
		<!-- Info日志默认存放路径(Info级别日志) -->
		<property name="info_fileName">${basePath}/info.log</property>
		<!-- Info日志默认压缩路径,将超过指定文件大小的日志,自动存入按"年月"建立的文件夹下面并进行压缩,作为存档 -->
		<property name="info_filePattern">${basePath}/%d{yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz</property>
		<!-- Info日志默认同一文件夹下可以存放的数量,不设置此属性则默认为7个 -->
		<property name="info_max">100</property>
		<!-- 日志默认同类型日志,多久生成一个新的日志文件,这个配置需要和filePattern结合使用;
                如果设置为1,filePattern是%d{yyyy-MM-dd}到天的格式,则间隔一天生成一个文件
                如果设置为12,filePattern是%d{yyyy-MM-dd-HH}到小时的格式,则间隔12小时生成一个文件 -->
		<property name="info_timeInterval">1</property>
		<!-- 日志默认同类型日志,是否对封存时间进行调制,若为true,则封存时间将以0点为边界进行调整,
                如:现在是早上3am,interval是4,那么第一次滚动是在4am,接着是8am,12am...而不是7am -->
		<property name="info_timeModulate">true</property>

		<!-- ============================================Warn级别日志============================================ -->
		<!-- Warn日志默认存放路径(Warn级别日志) -->
		<property name="warn_fileName">${basePath}/warn.log</property>
		<!-- Warn日志默认压缩路径,将超过指定文件大小的日志,自动存入按"年月"建立的文件夹下面并进行压缩,作为存档 -->
		<property name="warn_filePattern">${basePath}/%d{yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz</property>
		<!-- Warn日志默认同一文件夹下可以存放的数量,不设置此属性则默认为7个 -->
		<property name="warn_max">100</property>
		<!-- 日志默认同类型日志,多久生成一个新的日志文件,这个配置需要和filePattern结合使用;
                如果设置为1,filePattern是%d{yyyy-MM-dd}到天的格式,则间隔一天生成一个文件
                如果设置为12,filePattern是%d{yyyy-MM-dd-HH}到小时的格式,则间隔12小时生成一个文件 -->
		<property name="warn_timeInterval">1</property>
		<!-- 日志默认同类型日志,是否对封存时间进行调制,若为true,则封存时间将以0点为边界进行调整,
                如:现在是早上3am,interval是4,那么第一次滚动是在4am,接着是8am,12am...而不是7am -->
		<property name="warn_timeModulate">true</property>

		<!-- ============================================Error级别日志============================================ -->
		<!-- Error日志默认存放路径(Error级别日志) -->
		<property name="error_fileName">${basePath}/error.log</property>
		<!-- Error日志默认压缩路径,将超过指定文件大小的日志,自动存入按"年月"建立的文件夹下面并进行压缩,作为存档 -->
		<property name="error_filePattern">${basePath}/%d{yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz</property>
		<!-- Error日志默认同一文件夹下可以存放的数量,不设置此属性则默认为7个 -->
		<property name="error_max">100</property>
		<!-- 日志默认同类型日志,多久生成一个新的日志文件,这个配置需要和filePattern结合使用;
                如果设置为1,filePattern是%d{yyyy-MM-dd}到天的格式,则间隔一天生成一个文件
                如果设置为12,filePattern是%d{yyyy-MM-dd-HH}到小时的格式,则间隔12小时生成一个文件 -->
		<property name="error_timeInterval">1</property>
		<!-- 日志默认同类型日志,是否对封存时间进行调制,若为true,则封存时间将以0点为边界进行调整,
                如:现在是早上3am,interval是4,那么第一次滚动是在4am,接着是8am,12am...而不是7am -->
		<property name="error_timeModulate">true</property>

		<!-- ============================================控制台显示控制============================================ -->
		<!-- 控制台显示的日志最低级别 -->
		<property name="console_print_level">DEBUG</property>
	</Properties>

	<!--定义appender -->
	<appenders>
		<!-- =======================================用来定义输出到控制台的配置======================================= -->
		<Console name="Console" target="SYSTEM_OUT">
			<!-- 设置控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
			<ThresholdFilter level="${console_print_level}" onMatch="ACCEPT" onMismatch="DENY"/>
			<!-- 设置输出格式,不设置默认为:%m%n -->
			<PatternLayout pattern="${console_log_pattern}"/>
		</Console>

		<!-- ================================打印root中指定的level级别以上的日志到文件================================ -->
		<RollingFile name="RollingFile" fileName="${rolling_fileName}" filePattern="${rolling_filePattern}">
			<PatternLayout pattern="${log_pattern}"/>
			<Policies>
				<TimeBasedTriggeringPolicy interval="${rolling_timeInterval}" modulate="${warn_timeModulate}"/>
				<SizeBasedTriggeringPolicy size="${every_file_size}"/>
			</Policies>
			<!-- 设置同类型日志,同一文件夹下可以存放的数量,如果不设置此属性则默认存放7个文件 -->
			<DefaultRolloverStrategy max="${rolling_max}" />
		</RollingFile>

		<!-- =======================================打印INFO级别的日志到文件======================================= -->
		<RollingFile name="InfoFile" fileName="${info_fileName}" filePattern="${info_filePattern}">
			<PatternLayout pattern="${log_pattern}"/>
			<Policies>
				<TimeBasedTriggeringPolicy interval="${info_timeInterval}" modulate="${info_timeModulate}"/>
				<SizeBasedTriggeringPolicy size="${every_file_size}"/>
			</Policies>
			<DefaultRolloverStrategy max="${info_max}" />
			<Filters>
				<ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>
				<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
			</Filters>
		</RollingFile>

		<!-- =======================================打印WARN级别的日志到文件======================================= -->
		<RollingFile name="WarnFile" fileName="${warn_fileName}" filePattern="${warn_filePattern}">
			<PatternLayout pattern="${log_pattern}"/>
			<Policies>
				<TimeBasedTriggeringPolicy interval="${warn_timeInterval}" modulate="${warn_timeModulate}"/>
				<SizeBasedTriggeringPolicy size="${every_file_size}"/>
			</Policies>
			<DefaultRolloverStrategy max="${warn_max}" />
			<Filters>
				<ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
				<ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
			</Filters>
		</RollingFile>

		<!-- =======================================打印ERROR级别的日志到文件======================================= -->
		<RollingFile name="ErrorFile" fileName="${error_fileName}" filePattern="${error_filePattern}">
			<PatternLayout pattern="${log_pattern}"/>
			<Policies>
				<TimeBasedTriggeringPolicy interval="${error_timeInterval}" modulate="${error_timeModulate}"/>
				<SizeBasedTriggeringPolicy size="${every_file_size}"/>
			</Policies>
			<DefaultRolloverStrategy max="${error_max}" />
			<Filters>
				<ThresholdFilter level="FATAL" onMatch="DENY" onMismatch="NEUTRAL"/>
				<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
			</Filters>
		</RollingFile>
	</appenders>

	<!--定义logger,只有定义了logger并引入的appender,appender才会生效-->
	<loggers>
		<!-- 设置打印sql语句配置开始,以下两者配合使用,可以优化日志的输出信息,减少一些不必要信息的输出 -->
		<!-- 设置java.sql包下的日志只打印DEBUG及以上级别的日志,此设置可以支持sql语句的日志打印 -->
		<!--<logger name="java.sql" level="DEBUG" additivity="false">
			<appender-ref ref="Console"/>
		</logger>
		&lt;!&ndash; 设置org.mybatis.spring包下的日志只打印WARN及以上级别的日志 &ndash;&gt;
		<logger name="org.mybatis.spring" level="WARN" additivity="false">
			<appender-ref ref="Console"/>
		</logger>
		&lt;!&ndash; 设置org.springframework包下的日志只打印WARN及以上级别的日志 &ndash;&gt;
		<logger name="org.springframework" level="WARN" additivity="false">
			<appender-ref ref="Console"/>
		</logger>
		&lt;!&ndash; 设置com.qfx.workflow.service包下的日志只打印WARN及以上级别的日志 &ndash;&gt;
		<logger name="com.qfx.workflow.service" level="WARN" additivity="false">
			<appender-ref ref="Console"/>
		</logger>-->

		<logger name="net.sf.ehcache" level="DEBUG" additivity="false">
			<appender-ref ref="Console" />
		</logger>
		<logger name="org.springframework" level="INFO" additivity="false">
			<appender-ref ref="Console" />
		</logger>

		<logger name="org.hibernate" level="INFO" additivity="false">
			<appender-ref ref="Console" />
		</logger>

		<!-- log4jdbc-remix -->
		<logger name="jdbc.sqlonly" level="WARN" additivity="false">
			<appender-ref ref="Console" />
		</logger>
		<logger name="jdbc.sqltiming" level="INFO" additivity="false">
			<appender-ref ref="Console" />
		</logger>
		<logger name="jdbc.connection" level="INFO" additivity="false">
			<appender-ref ref="Console" />
		</logger>
		<logger name="jdbc.resultset" level="WARN" additivity="false">
			<appender-ref ref="Console" />
		</logger>
		<logger name="jdbc.resultsettable" level="WARN" additivity="false">
			<appender-ref ref="Console" />
		</logger>
		<logger name="jdbc.audit" level="WARN" additivity="false">
			<appender-ref ref="Console" />
		</logger>

		<logger name="java.sql.Connection" level="DEBUG" additivity="false">
			<appender-ref ref="Console" />
		</logger>
		<logger name="java.sql.PreparedStatement" level="DEBUG" additivity="false">
			<appender-ref ref="Console" />
		</logger>
		<logger name="java.sql.ResultSet" level="DEBUG" additivity="false">
			<appender-ref ref="Console" />
		</logger>
		<logger name="org.quartz" level="ERROR" additivity="false">
			<appender-ref ref="Console" />
		</logger>
		<!-- 设置打印sql语句配置结束 -->

		<!--建立一个默认的root的logger-->
		<root level="${output_log_level}">
			<appender-ref ref="RollingFile"/>
			<appender-ref ref="Console"/>
			<appender-ref ref="InfoFile"/>
			<appender-ref ref="WarnFile"/>
			<appender-ref ref="ErrorFile"/>
		</root>
	</loggers>

</configuration>

log4j-1.2-api-2.17.1、log4j-api-2.17.1、log4j-core-2.17.1、slf4j-api-1.7.36、log4j-slf4j-impl-2.17.1 立即下载

相关推荐

log4j-api-2.17.2.jar中文-英文对照文档.zip

# 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

Java-log4j安装配置

文章目录1. 环境2. 效果2.1 mylog.log文件2.2 控制台效果3. 配置及源码3.1 项目引入3.2 配置文件4. 其他参考4.1 输出分级别或模块到不同文件 1. 环境 开发环境:Eclipse IDE for Java Developers (免费) 版本: Version: 2019-12 (4.14.0) Build id: 20191212-1212 下载地址:http://u12.929825.com/pc/eclipse_java_2019.zip log4j

Aiken的自由世界 1207

STM32 WinUSB免驱实现:从DFU模式到高速通信的实战指南

本文详细介绍了STM32 WinUSB免驱实现方案,从DFU模式到高速通信的完整实战指南。通过修改设备描述符、添加BOS描述符和实现WCID描述符集,开发者可以轻松实现即插即用的USB设备,无需额外安装驱动。文章还提供了性能优化技巧和实际应用案例,帮助开发者快速部署高效稳定的USB通信方案。

weixin_29171087的博客 421

Log4j的重大漏洞,必须升级到2.16.0漏洞才能完全解除

Log4j重大漏洞,必须升级到2.16.0! 2.15.0并未完全解决问题

Champion-Dai 5337

uniapp 记录运动轨迹 开发_智能手环穿戴设备APP开发解决方案

智能手环是一种穿戴式智能设备,是目前备受关注的科技产品。目前智能手环具有的功能有记录日常生活中的运动数据、移动轨迹,定位等,有些还可以进行睡眠质量的检测,并将这些数据传送至移动端如手机、平板等,可对数据进行分析,指导健康生活的作用。而智能手环开发方案就是将这些功能实现,将算法烧录到主控板上。智能手环都有哪些功能  1、记录运动数据  对于喜欢健身的用户来说,智能手环记录的运动数据功能...

weixin_39678493的博客 1764

汇川机器人与PLC通信-ModbusTCP超详细案例

通过汇川机器人与PLC的ModbusTCP通信项目案例,我们可以了解通讯配置的过程,地址映射的方式,对接信号的转换,运行时序的逻辑等注意事项,帮助我们快速应用到项目中。

weixin_44166380的博客 1万+

log4j从1.x平滑升级至2.x

log4j从1.x平滑升级至2.x

weixin_43872895的博客 6385

开源onlyoffice编译完整过坑版

onlyoffice 编译过坑完整版;

sHImart 4551

Log4j2又爆雷,2.16.0存在DOS风险,升级2.17.0可解决

本以为,经过上周的2.16.0版本升级,Log4j2的漏洞修复工作,大家基本都要告一段落了。 万万没想到,就在周末,Log4j官方又发布了新版本:2.17.0 该版本主要修复安全漏洞:CVE-2021-45105 影响版本:2.0-alpha1 至 2.16.0(1.x用户继续忽略) 该漏洞只有当日志配置使用带有Context Lookups的非默认 Pattern Layout(例如$${ctx:loginId})时,攻击者可以通过构造包含递归查找的恶意输入数据,触发无限循环,导致 Sta

qfchenjunbo的博客 1077

工业金属表面缺陷检测:4种光学成像方案(明/暗/漫/背光)选型与实测对比

本文深入探讨工业金属表面缺陷检测中的4种光学成像方案(明/暗/漫/背光),详细解析其物理原理、适用场景及实测效果。通过对比不同照明方案在铝合金轮毂、不锈钢餐具等实际工业场景中的表现,提供科学的选型决策树,帮助提升缺陷检出率至99%以上,为计算机视觉在工业质检领域的应用提供实用指南。

weixin_33624741的博客 387

#1机器学习(西瓜书)自学记录

《机器学习 》 Datawhale 组队学习, 吃瓜自学笔记。

qq_74168740的博客 1148

Log4j2又爆雷!2.16.0存在DOS攻击风险,升级到2.17.0可解决!

本以为,经过上周的2.16.0版本升级,Log4j2的漏洞修复工作,大家基本都要告一段落了。万万没想到,就在周末,Log4j官方又发布了新版本:2.17.0该版本主要修复安全漏洞:CVE-...

程序猿DD 1779

【声纳技术】声呐时间反转镜技术:从被动聚焦到主动空间复用

时间反转镜技术以其独特的物理机制,为水声通信与声呐探测提供了一条绕过传统自适应均衡器的新路径。被动时间反转利用接收端的空间分集实现脉冲压缩,结构简洁、计算高效;主动时间反转则通过发射端预编码,将多径能量引导至目标位置,为多用户下行链路的空间复用奠定了物理基础。从Kuperman等人在海洋中首次验证声学时间反转镜,到TR-MIMO声呐的湖试验证,再到VTRM-CRK多用户通信系统的海试成功,该技术已从理论概念逐步走向工程实用。

u012133341的博客 55

must be one of [compile, runtime, system] but is 'test'. in log4j:log4j:1.2.16

错误信息: Errors occurred while build effective model from /Users/joylau/.gradle/caches/modules-2/files-2.1/log4j/log4j/1.2.16/88efb1b8d3d993fe339e9e2b201c75eed57d4c65/log4j-1.2.16.pom: 'build.plugins....

9502

【自适应滤波】自适应UKF,基于新息自适应调节Q和R,场景为雷达跟踪与滤波、MATLAB实现

本文提出了一种基于新息协方差匹配的自适应UKF(CM-AUKF)算法,用于解决噪声统计未知或时变场景下的目标跟踪问题。通过实时调整过程噪声协方差Q和观测噪声协方差R,CM-AUKF显著提升了跟踪精度和稳定性。仿真结果表明,相比传统UKF,CM-AUKF在位置和速度估计误差上分别降低了约50%和30%,且无需人工调参。该算法适用于无人机导航、雷达跟踪等动态环境,MATLAB代码可直接运行复现结果。自适应曲线显示算法能有效收敛到真实噪声参数,验证了其自适应能力。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 329

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Log4j 2.17.1 修复方式

Log4j2 再爆雷 Log4j2 这是没完没了了,栈长以为《玩大了!Log4j 2.x 再爆雷。。。》 Log4j 2.16.0 是最终终结版本了,没想到才过多久又爆雷了: 前两天栈长还说 Log4j 2.16.0 是最安全的版本,没想到这么快就又打脸了,Log4j 2.17.0 横空出世。。。 又来了。。Log4j2 这是中了新冠的毒? 这次又爆出来新的 DOS 拒绝服务攻击漏洞。。 如果你想关注和学习最新、最主流的 Java 技术,可以持续关注公众号Java大后端,公众号第一时间推送

技术小站 2414

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

卧槽!Log4j2 再爆雷,Log4j v2.17.0 横空出世。。。

点击关注公众号,Java干货及时送达Log4j2 再爆雷Log4j2 这是没完没了了,栈长以为《玩大了!Log4j 2.x 再爆雷。。。》 Log4j 2.16.0 是最终终结版本了,没想...

Java技术栈,分享最主流的Java技术 608

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Log4j MDC Tomcat下报异常org.apache.log4j.helpers.ThreadLocalMap

严重: The web application [/qdgswx] created a ThreadLocal with key of type [org.apache.log4j.helpers.ThreadLocalMap] (value [org .apache.log4j.helpers.ThreadLocalMap@4eb2bb3d]) and a value of type ...

weixin_30598225的博客 142

捅了Bug窝?Apache Log4j 出现第四个漏洞

文| 罗奇奇出品 | OSC开源社区(ID:oschina2013)Apache Log4j 的2.0-alpha1 到 2.16.0版本存在新的漏洞 CVE-2021-45105 ...

大数据星球-浪尖 224

日志入库-log4j-mysql连接中断问题

mysql5.6 druid1.0.17 log4j 1.2.16 一定时间后无法连接 CommunicationsException: Communications link failure 粗暴方法:修改mysql的配置文件 my.ini或者my.conf中的参数wait_timeout大于8小时,不是个好办法;网上建议:1、mysql.url后缀添加&autoReconn...

dequ2637的博客 194

浅谈Log4j和Log4j2的区别

相信很多程序猿朋友对log4j都很熟悉,log4j可以说是陪伴了绝大多数的朋友开启的编程。我不知道log4j之前是用什么,至少在我的生涯中,是log4j带我开启的日志时代。 log4j是Apache的一个开源项目,我们不去考究它的起源时间,但是据我了解,log4j 1已经不再更新了。 下面引用官网的原文: End of Life On August 5, 2015 the Logging Service...

lgxzzz的博客 1313

WEB应用log4j1.x升级到log4j2.17.1

WEB应用Log4j1.x升级到log4j2.17.1 WEB应用log4j1.x升级到log4j2.17.1 环境条件 删除旧版本JAR包 删除log4j1.x的日志配置文件 删除log4j1.x的启动配置或代码 新增log4j2的jar包依赖 新增log4j2的日志配置文件 新增log4j2的web启动配置 WEB应用log4j1.x升级到log4j2.17.1 升级背景:引用apache log4j2官网描述,有严重的漏洞;加上公司维护的WEB应用使用了非常落后的版本为log4j-1.2.

drhrht的博客 1428

升级到 log4j 2.16?惊喜,有一个 2.17 修复 DoS

都准备好了吗?没那么快。昨天,BleepingComputer 总结了迄今为止已知的所有 log4j 和 logback CVE。 自从上周开始出现关键的 log4j 零日漏洞以来,安全专家一次又一次地推荐版本 2.16 作为最安全的版本。 今天,随着 2.17.0 版本的发布,情况发生了变化,该版本修复了一个影响 log4j 2.16 的看似轻微但“高”严重性的拒绝服务 (DoS) 漏洞。 而且,是的,这个 DoS 错误带有另一个标识符:CVE-2021-45105。 无限递归,有限释放? 影响log4.

学海无涯苦作舟的博客 2393

log4j平稳升级到log4j2

一、前言   公司中的项目虽然已经用了很多的新技术了,但是日志的底层框架还是log4j,个人还是不喜欢用这个的。最近项目再生产环境上由于log4j引起了一场血案,于是决定升级到log4j2。 二、现象   虽然生产环境有多个结点分散高并发带来的压力,但是消息中心上一周好多接入方接入,导致并发量一下就增多了,导致服务卡死。在堆栈信息中看到大量的BLOCK异常,如下。 "http-nio-...

胡峻峥的博客 3441
上一篇: shiro spring boot的junit测试 获取SecurityUtils
下一篇: vbox 与vgrant up 迁移存放目录问题
wdd668
博客等级 码龄17年 57粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值