部署后,记录器未在 OpenShift 控制台上打印

问题描述 投票:0回答:1

我正在使用 Log4j - 2.22.1。版本和 Wildfly- 31.0.1.Final 记录器在本地打印但是,在 openshift 上部署它时,记录器在部署 Ear 后不会打印,我检查了部署前打印的日志,发现了这样的错误

 ERROR [stderr] (MSC service thread 1-3) ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...

这是使用的依赖项

implementation 'org.apache.logging.log4j:log4j-core:2.22.1'
implementation 'org.apache.logging.log4j:log4j-api:2.22.1'

尝试将此依赖项添加到库中但没有成功

implementation 'org.apache.logging.log4j:log4j-to-slf4j:2.21.1'

尝试添加 log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p [%c{1}] %m%n"/>
        </Console> <File name="File" fileName="logs/app.log">
        <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p [%c{1}] %m%n"/>
    </File>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="File"/>
        </Root>
        <Logger name="org.jboss" level="info" additivity="false">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="File"/>
        </Logger>
    </Loggers>
</Configuration>

并在 jboss-deployment 中排除了 Wildfly 日志记录子系统,但没有起作用

<exclude-subsystems>
  <subsystem name="logging"/>
</exclude-subsystems>
logging openshift wildfly log4j2
1个回答
0
投票

从log4j2升级到slf4j-2.x 解决了问题

© www.soinside.com 2019 - 2024. All rights reserved.