代码之家  ›  专栏  ›  技术社区  ›  shivanand sb

错误状态记录器未找到log4j2配置文件。在更新Struts的2.5.12版本时

  •  4
  • shivanand sb  · 技术社区  · 7 年前

    配置:仅将错误记录到控制台。设置系统属性 'org.apache.logging.log4j.simplelog.StatusLogger。要跟踪到的级别 显示Log4j2内部初始化日志。

    但我没有在我的项目中使用任何记录器。我已经添加了所有依赖jar文件,我没有使用Maven,而是在lib文件夹中添加了相关的库。有什么建议吗。

    2 回复  |  直到 3 年前
        1
  •  4
  •   Community taleinat    4 年前

    Struts框架使用的是日志框架log4j的第二个版本。

    Struts 2.3 to 2.5 migration

    文件 log4j2.xml 需要启动日志框架。但是它在类路径中丢失了。Struts框架中也缺少它。


    你应该找到一些 ,即从struts showcase应用程序或阅读本教程中的步骤4 How To Create A Struts 2 Web Application

    Step 4 - Add Logging

    为了了解引擎盖下发生了什么,本教程的示例应用程序使用log4j2。您需要将log4j2的依赖节点添加到pom中:

    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>
    

    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>
    

        2
  •  0
  •   Augustus    7 年前

    No log4j2 configuration file found 方法 log4j2.xml 配置文件不在类路径中。

    检查项目jar包含的内容 log4j confuguration file

    否则,您可以在构建脚本中将log4j配置文件路径设置为系统属性。

    <sysproperty key="log4j.configurationFile" value="file:///${basedir}/src/log4j2.xml" />
    

    https://logging.apache.org/log4j/2.x/manual/configuration.html 对于log4j配置