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

如何禁用SSHJ库默认日志或将SSHJ相关日志输出到单独文件

SSHJ日志控制实现方案

方案1:完全禁用SSHJ默认日志输出

SSHJ所有日志都归属在net.schmizz.sshj包路径下,直接对该包设置日志级别为OFF即可实现禁用:

  • 硬编码配置(适合保留BasicConfigurator.configure()的场景)
    在BasicConfigurator.configure();执行后添加以下代码:
    import org.apache.log4j.Logger;
    import org.apache.log4j.Level;
    
    // 关闭SSHJ全量日志
    Logger.getLogger("net.schmizz.sshj").setLevel(Level.OFF);
    
  • 配置文件配置(更推荐,可维护性更高)
    删除代码中的BasicConfigurator.configure();,在项目类路径下新增log4j.properties文件,添加如下配置:
    log4j.logger.net.schmizz.sshj=OFF
    
    其他原有日志的输出逻辑可在该配置文件中统一管理。

方案2:将SSHJ日志单独输出到指定文件

通过配置专属Appender实现SSHJ日志和其他业务日志隔离输出,同样在log4j.properties中添加配置即可:

# 根日志默认输出到控制台
log4j.rootLogger=INFO, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# 配置SSHJ专属文件输出Appender
log4j.appender.SSHJ_FILE=org.apache.log4j.RollingFileAppender
# 自定义日志输出路径
log4j.appender.SSHJ_FILE.File=/your/custom/path/sshj.log
log4j.appender.SSHJ_FILE.MaxFileSize=20MB
log4j.appender.SSHJ_FILE.MaxBackupIndex=10
log4j.appender.SSHJ_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.SSHJ_FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# 绑定SSHJ包日志到专属Appender,additivity设为false避免日志同时输出到控制台
log4j.logger.net.schmizz.sshj=INFO, SSHJ_FILE
log4j.additivity.net.schmizz.sshj=false

如果你的项目使用slf4j绑定了其他日志实现(如logback、log4j2),配置逻辑一致,仅需对net.schmizz.sshj包路径单独设置日志级别和输出规则即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 00:54:02