如何在Quarkus应用中获取Vert.x核心组件日志?
解决Quarkus中Vert.x核心组件日志无法正常输出的问题
问题场景
- 调试Quarkus应用的Vert.x底层问题时,需要获取
io.vertx.core相关日志辅助排查 - 执行命令
./mvnw quarkus:dev -Dquarkus.log.level=DEBUG,仅在发生异常时能看到io.vertx.core的调用栈日志,正常运行时仅输出Netty、Quarkus相关日志 - 尝试指定Vert.x日志级别:
./mvnw quarkus:dev -Dquarkus.log.level=INFO -Dquarkus.log.category."io.vertx".level=TRACE,系统提示配置键未被识别并忽略 - 将根日志级别设为TRACE后,仅能看到部分Vert.x Web的TRACE日志,仍无法获取预期的Vert.x核心日志
解决方案
1. 修正命令行参数配置
命令行中无需给包名添加引号,直接通过点分隔完整包路径即可,正确命令如下:
# 仅开启io.vertx.core包的TRACE日志 ./mvnw quarkus:dev -Dquarkus.log.level=INFO -Dquarkus.log.category.io.vertx.core.level=TRACE # 若需要开启整个io.vertx下所有包的日志,使用: ./mvnw quarkus:dev -Dquarkus.log.level=INFO -Dquarkus.log.category.io.vertx.level=TRACE
之前的错误是因为shell解析双引号时,导致Quarkus接收到的配置键格式错误(包含多余引号),因此被系统判定为无效配置。
2. 通过application.properties配置(更可靠)
直接修改项目中的src/main/resources/application.properties文件,添加以下配置:
# 全局日志级别 quarkus.log.level=INFO # 开启Vert.x核心组件的TRACE日志 quarkus.log.category.io.vertx.core.level=TRACE # 可选:开启整个Vertx体系的日志 # quarkus.log.category.io.vertx.level=TRACE
配置完成后启动应用,即可在正常运行时看到io.vertx.core的详细日志输出。
内容的提问来源于stack exchange,提问作者Charlie
相关产品推荐
相关产品推荐

