警告 StatusConsoleListener 不推荐使用包扫描来定位插件,并将在未来版本中删除

jva*_*chs 6 java xml console logging log4j2

我习惯log4j2.xml将日志写入 Maven 项目的本地文件中。我已经在 pom.xml 中安装了当前的最后一个依赖项<version>2.20.0</version>)。我的log4j2.xml是:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
    <Appenders>
        <RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
            <TimeFilter start="01:00:00" end="07:00:00" onMatch="ACCEPT" onMismatch="DENY"/>

            <PatternLayout>
                <pattern>%d %p %c{1.} [%t] %m%n</pattern>
            </PatternLayout>
            <TimeBasedTriggeringPolicy />
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="error">
            <AppenderRef ref="RollingFile"/>
        </Root>
    </Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)

我在 pom.xml 中的依赖项:

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
      <version>2.20.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>2.20.0</version>
    </dependency>

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <version>2.20.0</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

当我启动主方法时,日志已成功写入文件,但我在 IntelliJ IDEA 控制台中收到消息:

警告 StatusConsoleListener 不推荐使用包扫描来定位插件,并将在未来版本中删除

我该如何解决这个问题?只是想停止在控制台中显示该消息。

ale*_*led 10

此警告是由于使用log4j2.xml 文件中packages该元素的属性引起的,因为它已被弃用。删除该属性应该会阻止该消息出现。Configuration