log4j2 - 无法在 quarkus 中使用 log4j2
问题描述
我按照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,则不会记录信息日志。
作为参考,您可以通过以下链接。
https://logging.apache.org/log4j/log4j-2.3/manual/customloglevels.html
推荐阅读
- python - 正则表达式在句子中查找首字母
- spring - 将 Actuator 添加为 groupedOpenApi
- django - 如何订购模板中的多对多字段?
- c++ - 试图同时读取两个文件
- javascript - Express.js 与 EJS 应用程序错误:编辑表单未指示帖子的当前类别
- reactjs - 如何在 React 中将 svg 字符串呈现为图像?
- python - 避免 Seaborn barplot 颜色饱和度降低
- c++ - 编译 mongodb-cxx-driver 时对 bsoncxx 的未定义引用
- javascript - Google Apps 脚本:当两个数组匹配时合并数组
- java - 导入 excel 时出错:无法初始化类 org.apache.poi.openxml4j.opc.internal.marshallers.ZipPackagePropertiesMarshaller