gpt4 book ai didi

java - Log4j2 - 不支持的参数

转载 作者:太空宇宙 更新时间:2023-11-04 13:09:20 26 4
gpt4 key购买 nike

我正在尝试遵循非常简单的 log4j 配置来尝试理解该库。我已将该文件放入主包的子包中

Main Package
|
|__Logging Package <- XML file is here

log4j xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
xmlns:log4j='http://jakarta.apache.org/log4j/'>

<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>

<root>
<level value="DEBUG" />
<appender-ref ref="console" />
</root>

</log4j:configuration>

当我在 IntelliJ 中执行程序时,我得到了所需的日志,但如果我创建一个 jar 文件并执行它,我就会开始收到以下 log4j2 初始化错误。

ERROR StatusLogger Unrecognized format specifier [d]
ERROR StatusLogger Unrecognized conversion specifier [d] starting at position 16
in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [thread]
ERROR StatusLogger Unrecognized conversion specifier [thread] starting at positi
on 25 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [level]
ERROR StatusLogger Unrecognized conversion specifier [level] starting at positio
n 35 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [logger]
ERROR StatusLogger Unrecognized conversion specifier [logger] starting at positi
on 47 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [msg]
ERROR StatusLogger Unrecognized conversion specifier [msg] starting at position
54 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [n]
ERROR StatusLogger Unrecognized conversion specifier [n] starting at position 56
in conversion pattern.

然后,对于我的应用程序中的每个日志,log4j 都会将我在配置中指定的模式按原样显示在屏幕上,而无需任何其他信息。

我在 Windows 7 桌面上使用以下 log4j 依赖项。

<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.4.1</version>
</dependency>

我在我的 pom.xml 中为 Java 版本配置了以下配置

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

最佳答案

您的配置适用于 Log4j 1.x,而不是 2.x。

关于java - Log4j2 - 不支持的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34136954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com