This is an automated email from the ASF dual-hosted git repository. andy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit c55fee11e303c477644db577949046316ee51ca7 Author: Andy Seaborne <[email protected]> AuthorDate: Mon Dec 2 10:29:44 2024 +0000 Add FusekiLogging.setLogging(boolean) for tracing logging setup --- .../apache/jena/fuseki/system/FusekiLogging.java | 36 +++++++++++----------- .../apache/jena/fuseki/cmd/FusekiWebappCmd.java | 2 +- .../fuseki/webapp/FusekiServerEnvironmentInit.java | 2 +- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/FusekiLogging.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/FusekiLogging.java index 7448f19a01..1c610b5cc2 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/FusekiLogging.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/FusekiLogging.java @@ -43,7 +43,7 @@ import org.apache.jena.fuseki.Fuseki; */ public class FusekiLogging { - // This class must not have static constants, or otherwise not "Fuseki.*" + // This class must not have static Fuseki constants, or otherwise not "Fuseki.*" // or any class else where that might kick off logging. Otherwise, the // setLogging is pointless (it's already set). @@ -67,13 +67,13 @@ public class FusekiLogging "log4j2-test.xml", "log4j2.xml" }; + // These allow logLogging to be set from the java invocation. public static String envLogLoggingProperty = "FUSEKI_LOGLOGGING"; public static String logLoggingProperty = "fuseki.logLogging"; private static String logLoggingPropertyAlt = "fuseki.loglogging"; - // This is also set every call of seLogging. - // That picks up any in-code settings of the logging properties. - private static boolean logLogging = getLogLogging(); + // This is set in the call of setLogging. + private static boolean logLogging = false; private static final boolean getLogLogging() { String x = System.getProperty(logLoggingPropertyAlt); @@ -102,7 +102,12 @@ public class FusekiLogging /** Set up logging. */ public static synchronized void setLogging() { - setLogging(null); + setLogging(false); + } + + /** Set up logging. */ + public static synchronized void setLogging(boolean logLoggingSetup) { + setLogging(null, logLoggingSetup); } public static final String log4j2_configurationFile = LogCtl.log4j2ConfigFileProperty; @@ -116,15 +121,20 @@ public class FusekiLogging /** * Set up logging. Allow an extra location. This may be null. + * @param extraDir + * @param logLoggingSetup If true, tracing logging setup. */ - public static synchronized void setLogging(Path extraDir) { - + public static synchronized void setLogging(Path extraDir, boolean logLoggingSetup) { // Cope with repeated calls so code can call this to ensure if ( loggingInitialized ) return; loggingInitialized = true; - logLogging = getLogLogging(); + if ( logLoggingSetup ) + logLogging = true; + else + logLogging = getLogLogging(); + logLogging("Set logging"); // Is there a log4j setup provided? @@ -159,17 +169,7 @@ public class FusekiLogging // Instead, we manually load a resource. logLogging("Try classpath %s", resourceName); URL url = Thread.currentThread().getContextClassLoader().getResource(resourceName); -// if ( url != null ) { -// // Problem - test classes can be on the classpath (development mainly). -// if ( url.toString().contains("-tests.jar") || url.toString().contains("test-classes") ) -// url = null; -// } - if ( url != null ) { - try ( InputStream inputStream = url.openStream() ) { - String x = IO.readWholeFileAsUTF8(inputStream); - } catch (IOException ex) { IO.exception(ex); } - try ( InputStream inputStream = url.openStream() ) { loadConfiguration(inputStream, resourceName); } catch (IOException ex) { IO.exception(ex); } diff --git a/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiWebappCmd.java b/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiWebappCmd.java index 040c5591f5..147064669a 100644 --- a/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiWebappCmd.java +++ b/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiWebappCmd.java @@ -58,7 +58,7 @@ public class FusekiWebappCmd { static { FusekiEnv.mode = FusekiEnv.INIT.STANDALONE; FusekiEnv.setEnvironment(); - FusekiLogging.setLogging(FusekiEnv.FUSEKI_BASE); + FusekiLogging.setLogging(FusekiEnv.FUSEKI_BASE, false); } static public void main(String... argv) { diff --git a/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/webapp/FusekiServerEnvironmentInit.java b/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/webapp/FusekiServerEnvironmentInit.java index db676f0552..22e120b50a 100644 --- a/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/webapp/FusekiServerEnvironmentInit.java +++ b/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/webapp/FusekiServerEnvironmentInit.java @@ -45,7 +45,7 @@ public class FusekiServerEnvironmentInit implements ServletContextListener { // https://logging.apache.org/log4j/2.x/manual/webapp.html FusekiLogging.markInitialized(true); } else { - FusekiLogging.setLogging(FusekiEnv.FUSEKI_BASE); + FusekiLogging.setLogging(FusekiEnv.FUSEKI_BASE, false); } } JenaSystem.init();
