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

如何禁用JLine3中的日志功能?

禁用JLine3日志的解决方案

我尝试通过logback.xml配置禁用JLine3的日志功能,配置内容如下,但没有效果:

<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -- %msg%n</pattern>
        </encoder>
    </appender>
    <root level="error">
        <appender-ref ref="STDOUT"/>
    </root>
    <logger name="io.netty" level="INFO"/>
</configuration>

查找资料时我看到一段启动命令的修改,但不清楚其含义,修改内容如下:

# 原命令
exec "$JAVA" -XX:+IgnoreUnrecognizedVMOptions -jar "$AS_INSTALL_LIB/client/appserver-cli.jar" "$@"

# 修改后命令
exec "$JAVA" -Dfish.payara.admin.command.jline.log.disable=true -jar "$AS_INSTALL_LIB/client/appserver-cli.jar" "$@"

启动命令修改的含义

添加的-Dfish.payara.admin.command.jline.log.disable=true是JVM系统属性,专门用于禁用Payara CLI工具中JLine3相关的日志输出。这是Payara针对自身CLI封装的专属配置,并非JLine3原生参数,所以直接搜索JLine3日志相关内容找不到对应信息。

logback.xml配置无效的原因

JLine3本身不依赖logback,它的日志输出默认用JDK自带的java.util.logging(JUL)实现,所以logback的配置无法管控它的日志。如果想用日志框架配置禁用,需要修改JUL的配置文件(比如logging.properties):

  1. 在配置文件中添加:
io.jline.level = OFF
  1. 启动应用时通过JVM参数指定该配置文件:
-Djava.util.logging.config.file=/path/to/your/logging.properties

两种方案对比

  • 修改启动命令:操作简单,针对Payara CLI场景直接生效,无需额外配置文件。
  • 修改JUL配置:通用型更强,适用于所有使用JLine3且用JUL输出日志的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 22:20:55