From c18694e0d1c122a2f95537fd9254fb075d2e0bc2 Mon Sep 17 00:00:00 2001 From: Matthias Sohn Date: Mon, 9 Feb 2015 21:54:58 +0100 Subject: [PATCH] Use slf4j to log instead of printing to System.err CQ: 9206 Bug: 458445 Change-Id: Ic68fb7dbe0fb46bf30f157db45bf18d8f3a704c0 Signed-off-by: Matthias Sohn --- .../org.eclipse.jgit.feature/feature.xml | 7 ++++ .../org.eclipse.jgit.target/jgit-4.3.target | 4 +- .../org.eclipse.jgit.target/jgit-4.4.target | 4 +- .../org.eclipse.jgit.target/jgit-4.5.target | 4 +- .../orbit/R20150124073747-Luna-SR2.tpd | 2 + .../orbit/S20150202203538-Mars-M5.tpd | 2 + org.eclipse.jgit/META-INF/MANIFEST.MF | 1 + org.eclipse.jgit/pom.xml | 5 +++ .../storage/file/ObjectDirectory.java | 17 ++++---- .../src/org/eclipse/jgit/util/FS.java | 40 +++++++++++-------- pom.xml | 6 +++ 11 files changed, 62 insertions(+), 30 deletions(-) diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml index 10ea2c9e5..def154171 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml @@ -63,4 +63,11 @@ version="0.0.0" unpack="false"/> + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.3.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.3.target index c0eff7da4..76361d88f 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.3.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.3.target @@ -1,7 +1,7 @@ - + @@ -53,6 +53,8 @@ + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target index c414f4152..8f7053d05 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target @@ -1,7 +1,7 @@ - + @@ -53,6 +53,8 @@ + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.5.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.5.target index 45dec35ae..4909416f7 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.5.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.5.target @@ -1,7 +1,7 @@ - + @@ -53,6 +53,8 @@ + + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20150124073747-Luna-SR2.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20150124073747-Luna-SR2.tpd index 5384a9a21..683a8c7ce 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20150124073747-Luna-SR2.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20150124073747-Luna-SR2.tpd @@ -32,4 +32,6 @@ location "http://download.eclipse.org/tools/orbit/downloads/drops/R2015012407374 javax.servlet.source [2.5.0.v201103041518,2.5.0.v201103041518] org.tukaani.xz [1.3.0.v201308270617,1.3.0.v201308270617] org.tukaani.xz.source [1.3.0.v201308270617,1.3.0.v201308270617] + org.slf4j.api [1.7.2.v20121108-1250,1.7.2.v20121108-1250] + org.slf4j.api.source [1.7.2.v20121108-1250,1.7.2.v20121108-1250] } \ No newline at end of file diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20150202203538-Mars-M5.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20150202203538-Mars-M5.tpd index d41a5f4df..415fdca5d 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20150202203538-Mars-M5.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20150202203538-Mars-M5.tpd @@ -32,4 +32,6 @@ location "http://download.eclipse.org/tools/orbit/downloads/drops/S2015020220353 javax.servlet.source [2.5.0.v201103041518,2.5.0.v201103041518] org.tukaani.xz [1.3.0.v201308270617,1.3.0.v201308270617] org.tukaani.xz.source [1.3.0.v201308270617,1.3.0.v201308270617] + org.slf4j.api [1.7.2.v20121108-1250,1.7.2.v20121108-1250] + org.slf4j.api.source [1.7.2.v20121108-1250,1.7.2.v20121108-1250] } \ No newline at end of file diff --git a/org.eclipse.jgit/META-INF/MANIFEST.MF b/org.eclipse.jgit/META-INF/MANIFEST.MF index eea13ec7b..55ef0605b 100644 --- a/org.eclipse.jgit/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit/META-INF/MANIFEST.MF @@ -147,5 +147,6 @@ Require-Bundle: com.jcraft.jsch;bundle-version="[0.1.37,0.2.0)" Import-Package: com.googlecode.javaewah;version="[0.7.9,0.8.0)", javax.crypto, javax.net.ssl, + org.slf4j;version="[1.7.0,2.0.0)", org.xml.sax, org.xml.sax.helpers diff --git a/org.eclipse.jgit/pom.xml b/org.eclipse.jgit/pom.xml index 36a579ec2..6ca299ed5 100644 --- a/org.eclipse.jgit/pom.xml +++ b/org.eclipse.jgit/pom.xml @@ -83,6 +83,11 @@ org.apache.httpcomponents httpclient + + + org.slf4j + slf4j-api + diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java index adbe1f865..687408e19 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java @@ -52,8 +52,6 @@ import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; -import java.io.PrintWriter; -import java.io.StringWriter; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; @@ -85,6 +83,8 @@ import org.eclipse.jgit.lib.RepositoryCache.FileKey; import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.FileUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Traditional file system based {@link ObjectDatabase}. @@ -105,6 +105,9 @@ * considered. */ public class ObjectDirectory extends FileObjectDatabase { + private final static Logger LOG = LoggerFactory + .getLogger(ObjectDirectory.class); + private static final PackList NO_PACKS = new PackList( FileSnapshot.DIRTY, new PackFile[0]); @@ -565,14 +568,8 @@ private void handlePackError(IOException e, PackFile p) { // Don't remove the pack from the list, as the error may be // transient. } - StringBuilder buf = new StringBuilder(MessageFormat.format(tmpl, - p.getPackFile().getAbsolutePath())); - StringWriter sw = new StringWriter(); - e.printStackTrace(new PrintWriter(sw)); - buf.append('\n'); - buf.append(sw.toString()); - // TODO instead of syserr we should use a logging framework - System.err.println(buf.toString()); + LOG.error(MessageFormat.format(tmpl, + p.getPackFile().getAbsolutePath()), e); } @Override diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java index 081bf87c5..875e12f57 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java @@ -69,6 +69,8 @@ import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.util.ProcessResult.Status; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** Abstraction to support various file system operations not in Java. */ public abstract class FS { @@ -107,6 +109,8 @@ public FS detect(Boolean cygwinUsed) { } } + private final static Logger LOG = LoggerFactory.getLogger(FS.class); + /** The auto-detected implementation selected for this operating system and JRE. */ public static final FS DETECTED = detect(); @@ -418,12 +422,12 @@ protected static File searchPath(final String path, final String... lookFor) { * @return the one-line output of the command */ protected static String readPipe(File dir, String[] command, String encoding) { - final boolean debug = Boolean.parseBoolean(SystemReader.getInstance() - .getProperty("jgit.fs.debug")); //$NON-NLS-1$ + final boolean debug = LOG.isDebugEnabled(); try { - if (debug) - System.err.println("readpipe " + Arrays.asList(command) + "," //$NON-NLS-1$ //$NON-NLS-2$ + if (debug) { + LOG.debug("readpipe " + Arrays.asList(command) + "," //$NON-NLS-1$ //$NON-NLS-2$ + dir); + } final Process p = Runtime.getRuntime().exec(command, null, dir); final BufferedReader lineRead = new BufferedReader( new InputStreamReader(p.getInputStream(), encoding)); @@ -451,8 +455,9 @@ public void run() { is.close(); } catch (IOException e) { // Just print on stderr for debugging - if (debug) - e.printStackTrace(System.err); + if (debug) { + LOG.debug("Caught exception in gobbler thread", e); //$NON-NLS-1$ + } gooblerFail.set(true); } } @@ -462,13 +467,14 @@ public void run() { try { r = lineRead.readLine(); if (debug) { - System.err.println("readpipe may return '" + r + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - System.err.println("(ignoring remaing output:"); //$NON-NLS-1$ + LOG.debug("readpipe may return '" + r + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + LOG.debug("(ignoring remaing output:"); //$NON-NLS-1$ } String l; while ((l = lineRead.readLine()) != null) { - if (debug) - System.err.println(l); + if (debug) { + LOG.debug(l); + } } } finally { p.getErrorStream().close(); @@ -482,20 +488,20 @@ public void run() { if (rc == 0 && r != null && r.length() > 0 && !gooblerFail.get()) return r; - if (debug) - System.err.println("readpipe rc=" + rc); //$NON-NLS-1$ + if (debug) { + LOG.debug("readpipe rc=" + rc); //$NON-NLS-1$ + } break; } catch (InterruptedException ie) { // Stop bothering me, I have a zombie to reap. } } } catch (IOException e) { - if (debug) - System.err.println(e); - // Ignore error (but report) + LOG.error("Caught exception in FS.readPipe()", e); //$NON-NLS-1$ + } + if (debug) { + LOG.debug("readpipe returns null"); //$NON-NLS-1$ } - if (debug) - System.err.println("readpipe returns null"); //$NON-NLS-1$ return null; } diff --git a/pom.xml b/pom.xml index d222dc2ba..128d79377 100644 --- a/pom.xml +++ b/pom.xml @@ -189,6 +189,7 @@ 7.6.14.v20131031 2.6.1 4.1.3 + 1.7.2 2.9.1 @@ -543,6 +544,11 @@ httpclient ${httpclient-version} + + org.slf4j + slf4j-api + ${slf4j-version} +