Author: rgoers
Date: Mon Sep 26 00:16:26 2011
New Revision: 1175630

URL: http://svn.apache.org/viewvc?rev=1175630&view=rev
Log:
Fix VFS-341 - Enable logging of JSch using the Commons Logging Log object in 
SftpClientFactory.

Modified:
    
commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/sftp/SftpClientFactory.java
    commons/proper/vfs/trunk/src/changes/changes.xml

Modified: 
commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/sftp/SftpClientFactory.java
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/sftp/SftpClientFactory.java?rev=1175630&r1=1175629&r2=1175630&view=diff
==============================================================================
--- 
commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/sftp/SftpClientFactory.java
 (original)
+++ 
commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/sftp/SftpClientFactory.java
 Mon Sep 26 00:16:26 2011
@@ -19,12 +19,15 @@ package org.apache.commons.vfs2.provider
 import java.io.File;
 import java.util.Properties;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.commons.vfs2.FileSystemException;
 import org.apache.commons.vfs2.FileSystemOptions;
 import org.apache.commons.vfs2.util.Os;
 
 import com.jcraft.jsch.JSch;
 import com.jcraft.jsch.JSchException;
+import com.jcraft.jsch.Logger;
 import com.jcraft.jsch.Proxy;
 import com.jcraft.jsch.ProxyHTTP;
 import com.jcraft.jsch.ProxySOCKS5;
@@ -40,6 +43,13 @@ public final class SftpClientFactory
 {
     private static final String SSH_DIR_NAME = ".ssh";
 
+    private static final Log LOG = LogFactory.getLog(SftpClientFactory.class);
+
+    static
+    {
+        JSch.setLogger(new JSchLogger());
+    }
+
     private SftpClientFactory()
     {
     }
@@ -284,4 +294,44 @@ public final class SftpClientFactory
         }
         return new File("");
     }
+
+    private static class JSchLogger implements Logger
+    {
+        public boolean isEnabled(int level) {
+            switch (level)
+            {
+                case FATAL:
+                    return LOG.isFatalEnabled();
+                case ERROR:
+                    return LOG.isErrorEnabled();
+                case WARN:
+                    return LOG.isDebugEnabled();
+                case DEBUG:
+                    return LOG.isDebugEnabled();
+                case INFO:
+                    return LOG.isInfoEnabled();
+                default:
+                    return LOG.isDebugEnabled();
+
+            }
+        }
+
+        public void log(int level, String msg) {
+            switch (level)
+            {
+                case FATAL:
+                    LOG.fatal(msg);
+                case ERROR:
+                    LOG.error(msg);
+                case WARN:
+                    LOG.warn(msg);
+                case DEBUG:
+                    LOG.debug(msg);
+                case INFO:
+                    LOG.info(msg);
+                default:
+                    LOG.debug(msg);
+            }
+        }
+    }
 }

Modified: commons/proper/vfs/trunk/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/src/changes/changes.xml?rev=1175630&r1=1175629&r2=1175630&view=diff
==============================================================================
--- commons/proper/vfs/trunk/src/changes/changes.xml (original)
+++ commons/proper/vfs/trunk/src/changes/changes.xml Mon Sep 26 00:16:26 2011
@@ -23,6 +23,9 @@
 
   <body>
     <release version="2.1" date="TBD" description="">
+      <action issue="VFS-341" dev="rgoers" type="update" due-to="Rajika 
Kumarasiri">
+        Enable logging of JSch using the Commons Logging Log object in 
SftpClientFactory.
+      </action>
       <action issue="VFS-355" dev="rgoers" type="fix" due-to="Miroslav 
Pokorny">
         The read method of RamFileRandomAccessContent's input stream does not 
return -1 at eof.
       </action>


Reply via email to