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

WildFly Maven插件v4.2.1.Final无法输出java.util.logging的FINE及以下日志

问题解决:WildFly Maven插件无法输出java.util.logging的FINE及以下日志

核心问题分析

  1. CLI脚本执行失败:报错提示命令上下文不可用,根源在于脚本路径错误、离线模式配置冲突、脚本内重复启动嵌入式服务器;
  2. 日志级别不生效:CLI中配置的Logger包名与实际代码包不匹配,导致日志规则未应用到目标代码;
  3. 依赖加载异常:Elytron的SaslProvider找不到是插件与服务器连接异常引发的连锁问题,修复连接后可自动解决。

分步解决方案

1. 修正Maven插件配置

修改pom.xml中的WildFly插件配置,解决路径错误和离线模式冲突:

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>${wildfly-plugin.version}</version>
    <configuration>
        <version>${wildfly.version}</version>
        <server-config>standalone-full.xml</server-config>
        <!-- 移除offline配置:dev目标启动嵌入式服务器,需要连接控制器 -->
        <scripts>
            <!-- 修正脚本路径:脚本位于项目根目录,而非默认的src/main/scripts -->
            <script>${basedir}/configure-logging.cli</script>
        </scripts>
    </configuration>
</plugin>

2. 调整CLI脚本内容

删除脚本中重复的服务器启停命令,针对运行中的服务器配置日志规则:

# 提升控制台Handler级别,确保能接收FINE及以下日志
/subsystem=logging/console-handler=CONSOLE:write-attribute(name=level, value=TRACE)

# 为实际代码包添加Logger,设置级别为FINE(按需调整为TRACE/FINER)
/subsystem=logging/logger=org.eclipse.jakarta.servlet:add(level=FINE)

3. 验证代码中的日志使用

确保代码中正确初始化java.util.logging.Logger:

package org.eclipse.jakarta.servlet;

import java.util.logging.Logger;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/echo1")
public class Echo1Servlet extends HttpServlet {
    private static final Logger logger = Logger.getLogger(Echo1Servlet.class.getName());

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        // 输出FINE级别日志
        logger.fine("处理GET请求,路径:" + req.getRequestURI());
        resp.getWriter().write("Echo1响应");
    }
}

4. 测试验证

执行命令启动服务器:

mvn clean wildfly:dev

访问Servlet(如http://localhost:8080/jakartaee-hello-world/echo1),查看控制台输出,确认FINE级别的日志已正常打印。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 23:52:34