无法在 quarkus 中使用 log4j2
Not able to use log4j2 in quarkus
我按照 https://quarkus.io/guides/logging 中的描述配置了 log4j2,但是我用 org.apache.logging.log4j.LogManager 打印的日志从未出现。
我已经使用 org.jboss.logging.Logger 进行了测试,它有效。虽然我可以在这个项目中使用 jboss logger 而不是 log4j2,但我的其他基础项目的一些依赖项正在使用 log4j2。那些日志不见了。所以我希望在quarkus中使用log4j2,但不确定是否可行。
pom 依赖项
<properties>
<quarkus-plugin.version>1.9.2.Final</quarkus-plugin.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
<quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id>
<quarkus.platform.version>1.9.2.Final</quarkus.platform.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>${quarkus.platform.artifact-id}</artifactId>
<version>${quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.logmanager</groupId>
<artifactId>log4j2-jboss-logmanager</artifactId>
</dependency>
<dependency>
<groupId>com.rxnetworks.commons</groupId>
<artifactId>rxn-commons-utility</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.rxnetworks.commons</groupId>
<artifactId>rxn-commons-time</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.influxdb</groupId>
<artifactId>influxdb-java</artifactId>
<version>2.20</version>
</dependency>
<dependency>
<groupId>com.rxnetworks.commons</groupId>
<artifactId>rxn-commons-timeseries</artifactId>
<version>1.0.5</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.5.13</version>
<scope>test</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.2-jre</version>
<type>jar</type>
</dependency>
</dependencies>
代码示例:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class LogTest
{
private static final Logger LOG = LogManager.getLogger(); // With log4j2 Logger, no logs show up
// private static final org.jboss.logging.Logger LOG = org.jboss.logging.Logger.getLogger(LogTest.class); // If change to jboss Logger, it works
public void test() {
LOG.info("test log4j2");
}
}
您的应用程序的日志级别是多少?
如果大于INFO,info日志将不会记录。
作为参考,您可以通过以下link。
https://logging.apache.org/log4j/log4j-2.3/manual/customloglevels.html
我按照 https://quarkus.io/guides/logging 中的描述配置了 log4j2,但是我用 org.apache.logging.log4j.LogManager 打印的日志从未出现。
我已经使用 org.jboss.logging.Logger 进行了测试,它有效。虽然我可以在这个项目中使用 jboss logger 而不是 log4j2,但我的其他基础项目的一些依赖项正在使用 log4j2。那些日志不见了。所以我希望在quarkus中使用log4j2,但不确定是否可行。
pom 依赖项
<properties>
<quarkus-plugin.version>1.9.2.Final</quarkus-plugin.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
<quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id>
<quarkus.platform.version>1.9.2.Final</quarkus.platform.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>${quarkus.platform.artifact-id}</artifactId>
<version>${quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.logmanager</groupId>
<artifactId>log4j2-jboss-logmanager</artifactId>
</dependency>
<dependency>
<groupId>com.rxnetworks.commons</groupId>
<artifactId>rxn-commons-utility</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.rxnetworks.commons</groupId>
<artifactId>rxn-commons-time</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.influxdb</groupId>
<artifactId>influxdb-java</artifactId>
<version>2.20</version>
</dependency>
<dependency>
<groupId>com.rxnetworks.commons</groupId>
<artifactId>rxn-commons-timeseries</artifactId>
<version>1.0.5</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.5.13</version>
<scope>test</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.2-jre</version>
<type>jar</type>
</dependency>
</dependencies>
代码示例:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class LogTest
{
private static final Logger LOG = LogManager.getLogger(); // With log4j2 Logger, no logs show up
// private static final org.jboss.logging.Logger LOG = org.jboss.logging.Logger.getLogger(LogTest.class); // If change to jboss Logger, it works
public void test() {
LOG.info("test log4j2");
}
}
您的应用程序的日志级别是多少?
如果大于INFO,info日志将不会记录。
作为参考,您可以通过以下link。
https://logging.apache.org/log4j/log4j-2.3/manual/customloglevels.html