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/02/16 17:51:35 UTC
svn commit: r1245074 - in /incubator/jena/Jena2/ARQ/trunk/src/main/java:
arq/cmdline/CmdGeneral.java org/openjena/atlas/logging/Log.java
Author: andy
Date: Thu Feb 16 16:51:35 2012
New Revision: 1245074
URL: http://svn.apache.org/viewvc?rev=1245074&view=rev
Log:
Logging for commands.
Modified:
incubator/jena/Jena2/ARQ/trunk/src/main/java/arq/cmdline/CmdGeneral.java
incubator/jena/Jena2/ARQ/trunk/src/main/java/org/openjena/atlas/logging/Log.java
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/arq/cmdline/CmdGeneral.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/arq/cmdline/CmdGeneral.java?rev=1245074&r1=1245073&r2=1245074&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/arq/cmdline/CmdGeneral.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/arq/cmdline/CmdGeneral.java Thu Feb 16 16:51:35 2012
@@ -43,6 +43,7 @@ public abstract class CmdGeneral extends
protected CmdGeneral(String[] argv)
{
super(argv) ;
+ Log.setLoggingCmd() ;
addModule(modGeneral) ;
addModule(modVersion) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/org/openjena/atlas/logging/Log.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/org/openjena/atlas/logging/Log.java?rev=1245074&r1=1245073&r2=1245074&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/org/openjena/atlas/logging/Log.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/org/openjena/atlas/logging/Log.java Thu Feb 16 16:51:35 2012
@@ -21,12 +21,15 @@ package org.openjena.atlas.logging;
import java.io.ByteArrayInputStream ;
import java.io.File ;
import java.io.FileInputStream ;
+import java.io.IOException ;
import java.io.InputStream ;
+import java.util.Properties ;
import org.apache.log4j.PropertyConfigurator ;
import org.apache.log4j.xml.DOMConfigurator ;
import org.openjena.atlas.AtlasException ;
import org.openjena.atlas.lib.StrUtils ;
+import org.openjena.riot.SysRIOT ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
@@ -295,7 +298,14 @@ public class Log
java.util.logging.Logger.getLogger(logger.getName()).setLevel(java.util.logging.Level.INFO) ;
}
- /** Set log4j - try to find a file "log4j.properties" if nothing already set. Return true if we think Log4J is not initialized. */
+ /** Set logging
+ * <ol>
+ * <li>Check for -Dlog4j.configuration.</li>
+ * <li>Looks for log4j.properties file in current directory.</li>
+ * </ol>
+ * Return true if we think Log4J is not initialized.
+ */
+
public static boolean setLog4j()
{
if ( System.getProperty("log4j.configuration") == null )
@@ -318,6 +328,46 @@ public class Log
PropertyConfigurator.configure(filename) ;
}
+ private static final String log4Jsetup = StrUtils.strjoinNL(
+ "## Plain output to stdout"
+ , "log4j.appender.jena.plain=org.apache.log4j.ConsoleAppender"
+ , "log4j.appender.jena.plain.target=System.out"
+ , "log4j.appender.jena.plain.layout=org.apache.log4j.PatternLayout"
+ , "log4j.appender.jena.plain.layout.ConversionPattern=%m%n"
+
+ , "## Plain output with level, to stderr"
+ , "log4j.appender.jena.plainlevel=org.apache.log4j.ConsoleAppender"
+ , "log4j.appender.jena.plainlevel.target=System.err"
+ , "log4j.appender.jena.plainlevel.layout=org.apache.log4j.PatternLayout"
+ , "log4j.appender.jena.plainlevel.layout.ConversionPattern=%-5p %m%n"
+
+ , "## Everything"
+ , "log4j.rootLogger=INFO, jena.plainlevel"
+
+ , "## Parser output"
+ , "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>
+ * <li>Looks for log4j.properties file in current directory.</li>
+ * <li>Sets log4j using an internal configuration.</li>
+ * </ol>
+ */
+ public static void setLoggingCmd()
+ {
+ 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") ;
+ }
+ }
+
//---- java.util.logging - because that's always present.
static String defaultProperties =
StrUtils.strjoinNL(