当前位置: 首页 > 面试题库 >

JSch记录器-在哪里可以配置级别

李云
2023-03-14
问题内容

如何配置JSch记录器的级别?

是否可以通过XML配置Log4J?


问题答案:

JSch似乎没有使用任何已知的日志记录框架(我使用JSch v0.1.49,但最新版本是v0.1.51)或任何XML配置文件。所以这就是我所做的:

private class JSCHLogger implements com.jcraft.jsch.Logger {
    private Map<Integer, MyLevel> levels = new HashMap<Integer, MyLevel>();

    private final MyLogger LOGGER;


    public JSCHLogger() {
        // Mapping between JSch levels and our own levels
        levels.put(DEBUG, MyLevel.FINE);
        levels.put(INFO, MyLevel.INFO);
        levels.put(WARN, MyLevel.WARNING);
        levels.put(ERROR, MyLevel.SEVERE);
        levels.put(FATAL, MyLevel.SEVERE);

        LOGGER = MyLogger.getLogger(...); // Anything you want here, depending on your logging framework
    }

    @Override
    public boolean isEnabled(int pLevel) {
        return true; // here, all levels enabled 
    }

    @Override
    public void log(int pLevel, String pMessage) {
        MyLevel level = levels.get(pLevel);
        if (level == null) {
            level = MyLevel.SEVERE;
        }
        LOGGER.log(level, pMessage); // logging-framework dependent...
    }
}

然后在使用JSch之前:

JSch.setLogger(new JSCHLogger());

请注意,您可以使用所需的任何日志记录框架类(Log4j,Logback等)来代替MyLeveland MyLogger

您可以在此处获得完整的示例:http :
//www.jcraft.com/jsch/examples/Logger.java.html



 类似资料:
  • 问题内容: 有谁知道任何全面的文档吗? 我正在寻找有关的文档。这就是我所能找到的全部。 有人知道更好的来源吗? 问题答案: 有一个很好的一篇关于它mishadoff的博客 在这里 。 该类虽然没有正式记录。

  • Log4J允许您通过命令行,例如“-dlog4j.logger.com.whatever.myclass=debug”,通过您希望应用程序中的特定记录器进行日志记录的级别。我在logback找不到任何类似的设施。根据FAQ,它似乎允许您做的只是通过使用变量替换来设置根记录器的级别。是我遗漏了什么,还是登录不支持这个?谢了。

  • 我使用的是一个从jar实现Serializable的类,为了确保不会出现编译器相关的问题,我给了它一个serialVersionUID私有静态final long serialVersionUID=123L; 然后我重新创建了jar,但现在当我在新jar中使用类时,它给了我一个例外: invalidClassException:com.placeiq.piqhash.piqdeviceID;本地类

  • AMH可以设置伪静态吗?在哪里设置啊? AMH可以设置伪静态吗?在哪里设置啊?你可以具体告诉我怎么操作吗? 打开你的ThinkPHP框架项目的route/route.php文件。在哪里打开?

  • 我使用AudioRecord类来记录通话过程中的语音。 我很高兴只录下拥有电话的人的声音(从麦克风)。在录音期间,我想做一些音频处理,但这是目前的主题。 Android有以下AudioSources选项: null 对于音频格式,我选择了AudioFormat.encoding_pcm_16bit,但它也有:-AudioFormat.encoding_default-AudioFormat.enc

  • 我使用vertx 3.0与Spring引导。现在我试图配置记录器日志级别,使用下面的配置: JVM参数: 登录中。属性: JAVA类: 输出: 作为包com的日志级别。sensegrow是一个错误。为什么我要获取信息和警告级别日志。