Как включить журналы отладки для j2ssh Maverick?

Недавно пользуюсь j2ssh-maverick-1.5.5.jar для реализации sftp в моем собственном Java-приложении, но у меня возникла проблема с включением отладочного сообщения через log4j.properties,

Кажется, это не сработало log4j.logger.com.sshtools=DEBUG

Я могу найти похожую тему от sshtools ограничено: "Как включить журналы отладки для версий Maverick 1.4.x", но я не использую maverick-legacy-client.jar,

Может ли кто-нибудь сказать мне, как я могу показать сообщение журнала отладки, используя j2ssh-maverick-1.5.5.jar?

2 ответа

J2SSH Maverick использует собственный интерфейс регистрации Logger

Но если вы хотите просто войти в System.out, просто используйте SimpleLogger, вызвав

LoggerFactory.setInstance(new SimpleLogger(LoggerLevel.DEBUG));

В 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));
Другие вопросы по тегам