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



