You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus 3.2.4中Java XML Digital Signature API无DEBUG日志求助

问题分析与解决方案

你遇到的核心问题是Quarkus中JDK内部的XML数字签名相关JUL日志无法输出,原因主要涉及JDK内部API访问限制、JUL到JBoss Log Manager的桥接配置以及Quarkus日志过滤规则这几个方面,以下是具体的排查和解决步骤:

1. 解除Java 17对JDK内部API的访问限制

Java 17默认严格限制对com.sun.、org.jcp.这类内部API的访问,而你要捕获日志的类正好属于这类内部API,首先需要在启动时添加参数允许访问:
在application.properties中添加:

quarkus.jvm.args=--add-opens=java.base/com.sun.org.apache.xml.internal.security=ALL-UNNAMED --add-opens=java.base/org.jcp.xml.dsig.internal=ALL-UNNAMED

2. 调整Quarkus日志配置,确保JUL日志被桥接输出

Quarkus的日志配置虽然默认桥接JUL,但针对JDK内部类的日志可能被默认过滤,需要显式禁用过滤器并匹配正确的级别映射:
修改application.properties中的日志配置:

quarkus.log.level=DEBUG
quarkus.log.min-level=TRACE

# 配置目标日志类别,禁用过滤器并设置对应级别(JUL的FINER对应Quarkus的DEBUG)
quarkus.log.category."org.jcp.xml.dsig.internal".level=DEBUG
quarkus.log.category."org.jcp.xml.dsig.internal".filter=null
quarkus.log.category."com.sun.org.apache.xml.internal.security".level=DEBUG
quarkus.log.category."com.sun.org.apache.xml.internal.security".filter=null

注:JUL的FINER级别对应Quarkus(JBoss Log Manager)的DEBUG级别,FINEST对应TRACE,因此不需要设置到TRACE,用DEBUG即可匹配Oracle文档要求的FINER。

3. 备用方案:直接使用JUL原生配置文件

如果上述配置仍不生效,可以直接创建JUL的配置文件src/main/resources/logging.properties:

# 配置目标日志级别
org.jcp.xml.dsig.internal.level = FINER
com.sun.org.apache.xml.internal.security.level = FINER

# 配置控制台处理器
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
.handlers = java.util.logging.ConsoleHandler

然后在application.properties中指定使用该配置(注意和之前的--add-opens参数合并):

quarkus.jvm.args=--add-opens=java.base/com.sun.org.apache.xml.internal.security=ALL-UNNAMED --add-opens=java.base/org.jcp.xml.dsig.internal=ALL-UNNAMED -Djava.util.logging.config.file=src/main/resources/logging.properties

验证

启动Quarkus应用后执行XML签名相关逻辑,即可看到org.jcp.xml.dsig.internal和com.sun.org.apache.xml.internal.security的调试日志。

内容的提问来源于stack exchange,提问作者xperjon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 10:07:16