最近我使用j2ssh-maverick-1.5.5.jar
在我自己的java应用程序中实现sftp
,但我在通过log4j.properties
启用调试消息时遇到了问题。
它似乎无效log4j.logger.com.sshtools=DEBUG
我可以在sshtools
限制中找到类似的主题:“如何为Maverick版本1.4.x启用调试日志”,但我没有使用maverick-legacy-client.jar
。
有人能告诉我如何使用j2ssh-maverick-1.5.5.jar
显示调试日志消息吗?
答案 0 :(得分:0)
J2SSH Maverick使用自己的日志记录界面Logger
但是如果您只想简单地记录到System.out,只需通过调用
来使用SimpleLoggerLoggerFactory.setInstance(new SimpleLogger(LoggerLevel.DEBUG));
答案 1 :(得分:0)
在 j2ssh-maverick-1.5.5 中,您需要创建一个实现 Logger 接口的新类。这是一个例子:
import com.sshtools.logging.Logger;
import com.sshtools.logging.LoggerLevel;
public class J2sshLogger implements Logger{
LoggerLevel level;
public J2sshLogger(LoggerLevel arg0) {
level = arg0;
}
public boolean isLevelEnabled(LoggerLevel level) {
return (this.level.ordinal() >= level.ordinal());
}
public void log(LoggerLevel level, Object source, String msg) {
//here your log: example log.write(level, msg);
}
public void log(LoggerLevel level, Object source, String msg, Throwable t) {
//here your log: example log.write(level, msg);
}
}
当您创建 SSH 连接时,您需要将新的记录器类设置为 LoggerFactory,如下所示:
LoggerFactory.setInstance(new J2sshLogger(LoggerLevel.INFO));