根据要求和出于安全目的,我正在更新Struts项目。在Struts版本是2.3.24之前,现在我将其更新为2.5.12。我已经下载了所有必需的Struts jar文件并应用于项目,但出现以下错误
错误StatusLogger找不到log4j2配置文件。使用默认配置:仅将错误记录到控制台。将系统属性'org.apache.logging.log4j.simplelog.StatusLogger.level'设置为TRACE,以显示Log4j2内部初始化日志记录。
但是我在项目中没有使用任何记录器。我已经添加了所有依赖项jar文件,并且我没有使用Maven,而是在lib文件夹中添加了相关库。有任何建议请。
Struts框架正在使用日志框架log4j的第二个版本。
Struts 2.3到2.5的迁移
请注意,该框架现在将Log4j2用作主要日志记录层,不建议使用现有的旧日志记录层,并将很快将其删除。Log4j2支持许多不同的日志记录实现,请查看文档以获取更多详细信息。
该文件log4j2.xml
是引导日志记录框架所必需的。但是类路径中缺少它。Struts框架中也缺少它。
您应该log4j2.xml
在struts-showcase应用程序中找到一些,或者阅读本教程中的步骤4如何创建Struts 2 Web应用程序
第4步-添加日志
为了了解实际情况,本教程的示例应用程序使用log4j2。您需要为pom添加log4j2的依赖项节点:
pom.xml log4j依赖项节点
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.8.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.8.2</version> </dependency>
同时使用log4j-core和log4j-api可以使用Log4j2的最新版本,而不会与框架提供的版本冲突。在src / main / resources文件夹中设置一个log4j2.xml配置,其中包含以下内容
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?> <Configuration> <Appenders> <Console name="STDOUT" target="SYSTEM_OUT"> <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> </Console> </Appenders> <Loggers> <Logger name="com.opensymphony.xwork2" level="debug"/> <Logger name="org.apache.struts2" level="debug"/> <Root level="warn"> <AppenderRef ref="STDOUT"/> </Root> </Loggers> </Configuration>
请注意,上述log4j2配置将控制台指定为日志目标。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句