diff --git a/src/org/labkey/test/TestProperties.java b/src/org/labkey/test/TestProperties.java index ee672a4c5d..82ed8da3d2 100644 --- a/src/org/labkey/test/TestProperties.java +++ b/src/org/labkey/test/TestProperties.java @@ -17,11 +17,12 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.SystemUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.labkey.serverapi.reader.Readers; import org.labkey.test.util.CachingSupplier; import org.labkey.test.util.CspLogUtil; import org.labkey.test.util.TestDataGenerator; -import org.labkey.test.util.TestLogger; import org.labkey.test.util.Version; import org.openqa.selenium.Dimension; @@ -42,19 +43,20 @@ import java.util.Objects; import java.util.Optional; import java.util.Properties; -import java.util.Random; import java.util.stream.Collectors; import java.util.stream.Stream; public abstract class TestProperties { + private static final Logger LOG = LogManager.getLogger(TestProperties.class); + static { final File propFile = new File(TestFileUtils.getTestRoot(), "test.properties"); final File propFileTemplate = new File(TestFileUtils.getTestRoot(), "test.properties.template"); if (!propFile.exists()) { - TestLogger.log(String.format("'%s' does not exist. Creating default from '%s'", propFile.getName(), propFileTemplate.getName())); + LOG.info("'{}' does not exist. Creating default from '{}'", propFile.getName(), propFileTemplate.getName()); try (Stream propStream = Files.lines(propFileTemplate.toPath())) { final Iterator iterator = propStream.filter(line -> !line.startsWith("#!!")).iterator(); @@ -62,12 +64,12 @@ public abstract class TestProperties } catch (IOException e) { - TestLogger.error(e.getMessage()); + LOG.error(e.getMessage(), e); } } try (Reader propReader = Readers.getReader(propFile)) { - TestLogger.log("Loading properties from " + propFile.getName()); + LOG.info("Loading properties from {}", propFile.getName()); Properties properties = new Properties(); properties.load(propReader); properties.putAll(System.getProperties()); @@ -75,8 +77,7 @@ public abstract class TestProperties } catch (IOException ioe) { - TestLogger.error("Failed to load " + propFile.getName() + " file. Running with hard-coded defaults"); - ioe.printStackTrace(System.err); + LOG.error("Failed to load {} file. Running with hard-coded defaults", propFile.getName(), ioe); } final List gradleProperties = List.of("labkeyVersion"); @@ -85,7 +86,7 @@ public abstract class TestProperties { try (Reader propReader = Readers.getReader(serverPropFile)) { - TestLogger.log("Loading properties from " + serverPropFile.getName()); + LOG.info("Loading properties from {}", serverPropFile.getName()); Properties properties = new Properties(); properties.load(propReader); for (String key : gradleProperties) @@ -98,8 +99,7 @@ public abstract class TestProperties } catch (IOException ioe) { - TestLogger.error("Failed to load " + serverPropFile.getName() + " file."); - ioe.printStackTrace(System.err); + LOG.error("Failed to load {} file.", serverPropFile.getName(), ioe); } } @@ -298,9 +298,9 @@ public static boolean isTroubleshootingStacktracesEnabled() return getBooleanProperty("webtest.troubleshooting.stacktraces", false); } - public static boolean isDebugLoggingEnabled() + public static String getTestLogLevel() { - return getBooleanProperty("webtest.logging.debug", false); + return System.getProperty("webtest.log.level"); } public static boolean isPrimaryUserAppAdmin() @@ -432,7 +432,7 @@ public static File getDumpDir() "Tried system properties failure.output.dir and java.io.tmpdir"); } - TestLogger.log("Using " + dumpDir + " to store test output"); + LOG.info("Using {} to store test output", dumpDir); } return dumpDir; } @@ -475,7 +475,7 @@ public static int getIntegerProperty(String key, int def) } catch (NumberFormatException e) { - TestLogger.warn("Invalid value for property %s: '%s'".formatted(key, prop), e); + LOG.warn("Invalid value for property {}: '{}'", key, prop, e); } } return def; @@ -499,7 +499,7 @@ public static double getDoubleProperty(String key, double def) } catch (NumberFormatException e) { - TestLogger.warn("Invalid value for property %s: '%s'".formatted(key, prop), e); + LOG.warn("Invalid value for property {}: '{}'", key, prop, e); } } return def; diff --git a/src/org/labkey/test/WebDriverWrapper.java b/src/org/labkey/test/WebDriverWrapper.java index b51b78bfc1..d251eb47f0 100644 --- a/src/org/labkey/test/WebDriverWrapper.java +++ b/src/org/labkey/test/WebDriverWrapper.java @@ -355,6 +355,7 @@ protected Pair createNewWebDriver(@NotNull Pair