You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2012/06/04 21:59:56 UTC

svn commit: r1346126 - in /jena/trunk/jena-arq/src/main/java: arq/cmdline/CmdGeneral.java arq/cmdline/CmdMain.java org/openjena/atlas/logging/Log.java

Author: andy
Date: Mon Jun  4 19:59:56 2012
New Revision: 1346126

URL: http://svn.apache.org/viewvc?rev=1346126&view=rev
Log:
Sort out command logging.

Modified:
    jena/trunk/jena-arq/src/main/java/arq/cmdline/CmdGeneral.java
    jena/trunk/jena-arq/src/main/java/arq/cmdline/CmdMain.java
    jena/trunk/jena-arq/src/main/java/org/openjena/atlas/logging/Log.java

Modified: jena/trunk/jena-arq/src/main/java/arq/cmdline/CmdGeneral.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/arq/cmdline/CmdGeneral.java?rev=1346126&r1=1346125&r2=1346126&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/arq/cmdline/CmdGeneral.java (original)
+++ jena/trunk/jena-arq/src/main/java/arq/cmdline/CmdGeneral.java Mon Jun  4 19:59:56 2012
@@ -24,14 +24,12 @@ import org.openjena.atlas.io.IndentedWri
 import arq.cmd.CmdUtils ;
 import arq.cmd.TerminationException ;
 
-import org.openjena.atlas.logging.Log ;
-
 // Added usage + some common flags
 // This is the usual starting point for any sub 
 
 public abstract class CmdGeneral extends CmdArgModule implements CallbackHelp//, VersionCallback
 {
-    static { Log.setLog4j() ; CmdUtils.setN3Params() ; }
+    static { CmdUtils.setN3Params() ; }
 
     protected ModGeneral modGeneral = new ModGeneral(this) ;
     protected ModVersion modVersion = new ModVersion(true) ;
@@ -43,7 +41,6 @@ public abstract class CmdGeneral extends
     protected CmdGeneral(String[] argv)
     {
         super(argv) ;
-        Log.setLoggingCmd() ;
         addModule(modGeneral) ;
         addModule(modVersion) ;
     }

Modified: jena/trunk/jena-arq/src/main/java/arq/cmdline/CmdMain.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/arq/cmdline/CmdMain.java?rev=1346126&r1=1346125&r2=1346126&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/arq/cmdline/CmdMain.java (original)
+++ jena/trunk/jena-arq/src/main/java/arq/cmdline/CmdMain.java Mon Jun  4 19:59:56 2012
@@ -18,6 +18,7 @@
 
 package arq.cmdline;
 
+import org.openjena.atlas.logging.Log ;
 import arq.cmd.CmdException ;
 import arq.cmd.TerminationException ;
 
@@ -35,7 +36,10 @@ import com.hp.hpl.jena.sparql.util.Utils
 
 public abstract class CmdMain extends CmdLineArgs
 {
-
+    // Do this very early so it happens before anything else
+    // gets a chance to create a logger.
+    static { Log.setCmdLogging() ; }
+    
     public CmdMain(String[] args)
     {
         super(args) ;

Modified: jena/trunk/jena-arq/src/main/java/org/openjena/atlas/logging/Log.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/atlas/logging/Log.java?rev=1346126&r1=1346125&r2=1346126&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/atlas/logging/Log.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/atlas/logging/Log.java Mon Jun  4 19:59:56 2012
@@ -328,7 +328,7 @@ public class Log
             PropertyConfigurator.configure(filename) ;
     }
     
-    private static final String log4Jsetup = StrUtils.strjoinNL(
+    private static String log4Jsetup = StrUtils.strjoinNL(
         "## Plain output to stdout"
         , "log4j.appender.jena.plain=org.apache.log4j.ConsoleAppender"
         , "log4j.appender.jena.plain.target=System.out"
@@ -348,7 +348,7 @@ public class Log
         , "log4j.additivity."+SysRIOT.riotLoggerName+"=false"
         , "log4j.logger."+SysRIOT.riotLoggerName+"=INFO, jena.plainlevel "
         ) ;
-
+    
     /** Set logging, suitable for a command line application.
      * <ol>
      * <li>Check for -Dlog4j.configuration.</li>
@@ -356,16 +356,33 @@ public class Log
      * <li>Sets log4j using an internal configuration.</li>
      * </ol>
      */
-    public static void setLoggingCmd()
+    public static void setCmdLogging()
+    {
+        setCmdLogging(log4Jsetup) ; 
+    }
+    
+    /** Set logging, suitable for a command line application.
+     * <ol>
+     * <li>Check for -Dlog4j.configuration.</li>
+     * <li>Looks for log4j.properties file in current directory.</li>
+     * <li>Sets log4j using the provided default configuration.</li>
+     * </ol>
+     * T 
+     */
+    public static void setCmdLogging(String defaultConfig)
     {
         if ( !setLog4j() )
-        {
-            Properties p = new Properties() ;
-            InputStream in = new ByteArrayInputStream(StrUtils.asUTF8bytes(log4Jsetup)) ;
-            try { p.load(in) ; } catch (IOException ex) {}
-            PropertyConfigurator.configure(p) ;
-            System.setProperty("log4j.configuration", "set") ;
-        }
+            resetLogging(log4Jsetup) ;
+    }
+    
+
+    public static void resetLogging(String config)
+    {
+        Properties p = new Properties() ;
+        InputStream in = new ByteArrayInputStream(StrUtils.asUTF8bytes(config)) ;
+        try { p.load(in) ; } catch (IOException ex) {}
+        PropertyConfigurator.configure(p) ;
+        System.setProperty("log4j.configuration", "set") ;
     }
     
     //---- java.util.logging - because that's always present.
@@ -411,13 +428,4 @@ public class Log
             
         } catch (Exception ex) { throw new AtlasException(ex) ; } 
     }
-    
-    /** Set for command line tools so that (e.g. log4j.properties) isn't assumed
-     * Avoids need for baked in log4j.properties which can be problematic
-     * if there are multiple ones. 
-     */
-    private static void setLoggingForCommandLine()
-    {
-            // See CmdTDB.setLogging.
-    }
 }