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.
- }
}