log4j - log4j-core update



我已经将我的log4j版本从1.2.17更新到log4j-core-2.17.1,这是为了修复log4jshell漏洞。

在构建代码时,我得到无法找到PatternLayout和ConsoleAppender错误消息。

war文件中不应该有除log4j-core-2.17.1之外的任何其他log4j版本,所以我在pom.xml文件

中的slf4j依赖项中排除了lo4j请知道如何修复这个错误。

<<p>代码片段/strong>
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.ConsoleAppender;
import org.apache.logging.log4j.PatternLayout;
import jxl.common.Logger;
public class Booking {
static Logger logger = Logger.getLogger(Booking.class);
public static boolean isChecked(String[] includeProps) {
logger.info("Start of method");
return true;
}
}

pom.xml

<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.36</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>

log4j . properties的

log4j.rootLogger=INFO,stdout
log4j.logger.requestLogger=debug, requestAppender
log4j.additivity.requestLogger=false
log4j.appender.stdout=org.apache.log4j.FileAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.File=/apps/opt/logs/App.log
log4j.appender.stdout.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n

错误消息

cannot find symbol
[ERROR] symbol: class PatternLayout
cannot find symbol
[ERROR] symbol: class ConsoleAppender
[ERROR] symbol: class variable Logger

按如下方式更改导入:

import org.apache.logging.log4j.core.Logger;
import org.apache.logging.log4j.core.appender.ConsoleAppender;
import org.apache.logging.log4j.core.layout.PatternLayout;

这是因为2.xlog4j的X版本有主要的结构变化。

相关内容

最新更新