You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2015/04/02 03:45:39 UTC

svn commit: r1670804 - in /tika/trunk/tika-app/src/main: java/org/apache/tika/cli/TikaCLI.java resources/log4j.properties

Author: tallison
Date: Thu Apr  2 01:45:39 2015
New Revision: 1670804

URL: http://svn.apache.org/r1670804
Log:
TIKA-1330 fix logging in TikaCLI to avoid adding multiple appenders

Modified:
    tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
    tika/trunk/tika-app/src/main/resources/log4j.properties

Modified: tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java?rev=1670804&r1=1670803&r2=1670804&view=diff
==============================================================================
--- tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java (original)
+++ tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java Thu Apr  2 01:45:39 2015
@@ -42,6 +42,7 @@ import java.net.URL;
 import java.nio.charset.Charset;
 import java.util.Arrays;
 import java.util.Comparator;
+import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -53,11 +54,10 @@ import java.util.TreeSet;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.log4j.BasicConfigurator;
 import org.apache.log4j.Level;
+import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
-import org.apache.log4j.SimpleLayout;
-import org.apache.log4j.WriterAppender;
+import org.apache.log4j.PropertyConfigurator;
 import org.apache.poi.poifs.filesystem.DirectoryEntry;
 import org.apache.poi.poifs.filesystem.DocumentEntry;
 import org.apache.poi.poifs.filesystem.DocumentInputStream;
@@ -114,14 +114,10 @@ public class TikaCLI {
 
     public static void main(String[] args) throws Exception {
 
-        String log4jFile = System.getProperty("log4j.configuration");
-        if (log4jFile == null || log4jFile.trim().length()==0) {
-            BasicConfigurator.configure(
-                    new WriterAppender(new SimpleLayout(), System.err));
-            Logger.getRootLogger().setLevel(Level.INFO);
-        }
-
         TikaCLI cli = new TikaCLI();
+        if (! isConfigured()) {
+            PropertyConfigurator.configure(cli.getClass().getResourceAsStream("/log4j.properties"));
+        }
 
         if (cli.testForHelp(args)) {
             cli.usage();
@@ -155,6 +151,22 @@ public class TikaCLI {
         }
     }
 
+    private static boolean isConfigured() {
+        //Borrowed from: http://wiki.apache.org/logging-log4j/UsefulCode
+        Enumeration appenders = LogManager.getRootLogger().getAllAppenders();
+        if (appenders.hasMoreElements()) {
+            return true;
+        }
+        else {
+            Enumeration loggers = LogManager.getCurrentLoggers() ;
+            while (loggers.hasMoreElements()) {
+                Logger c = (Logger) loggers.nextElement();
+                if (c.getAllAppenders().hasMoreElements())
+                    return true;
+            }
+        }
+        return false;
+    }
     private class OutputType {
 
         public void process(

Modified: tika/trunk/tika-app/src/main/resources/log4j.properties
URL: http://svn.apache.org/viewvc/tika/trunk/tika-app/src/main/resources/log4j.properties?rev=1670804&r1=1670803&r2=1670804&view=diff
==============================================================================
--- tika/trunk/tika-app/src/main/resources/log4j.properties (original)
+++ tika/trunk/tika-app/src/main/resources/log4j.properties Thu Apr  2 01:45:39 2015
@@ -14,11 +14,11 @@
 # limitations under the License.
 
 #info,debug, error,fatal ...
-log4j.rootLogger=stdout
+log4j.rootLogger=info,stderr
 
 #console
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stderr=org.apache.log4j.ConsoleAppender
+log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
+log4j.appender.stderr.Target=System.err
 
-
-log4j.appender.stdout.layout.ConversionPattern=%m%n
+log4j.appender.stderr.layout.ConversionPattern= %-5p %m%n