简体   繁体   English

如何为 j2ssh Maverick 启用调试日志?

[英]How to enable debug logs for j2ssh maverick?

Recently I am using j2ssh-maverick-1.5.5.jar for implementing sftp within my own java application, but I got a problem on enabling debug message via log4j.properties .最近我正在使用j2ssh-maverick-1.5.5.jar在我自己的 java 应用程序中实现sftp ,但是我在通过log4j.properties启用调试消息时遇到了问题。

It seems it didn't work on log4j.logger.com.sshtools=DEBUG似乎它在log4j.logger.com.sshtools=DEBUGlog4j.logger.com.sshtools=DEBUG

I can find similar topic from sshtools limited: "How to enable debug logs for Maverick versions 1.4.x", but I am not using maverick-legacy-client.jar .我可以从sshtools limited 找到类似的主题:“如何为 Maverick 版本 1.4.x 启用调试日志”,但我没有使用maverick-legacy-client.jar

Could anyone tell me how can I show debug log message using j2ssh-maverick-1.5.5.jar ?谁能告诉我如何使用j2ssh-maverick-1.5.5.jar显示调试日志消息?

J2SSH Maverick uses its own logging interface Logger J2SSH Maverick 使用自己的日志记录接口Logger

But if you just want simple logging to System.out just use the SimpleLogger by calling但是,如果您只想简单地将日志记录到 System.out,只需通过调用使用SimpleLogger

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

In j2ssh-maverick-1.5.5 you need to create a new Class that implements Logger interface.在 j2ssh-maverick-1.5.5 中,您需要创建一个实现Logger接口的新类。 This is an example:这是一个例子:

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);
    }
}

When you create your SSH connection you need to set your new logger class to LoggerFactory , like this:创建 SSH 连接时,您需要将新的记录器类设置为LoggerFactory ,如下所示:

LoggerFactory.setInstance(new J2sshLogger(LoggerLevel.INFO));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM