diff --git a/google-cloud-bigquery-jdbc/pom.xml b/google-cloud-bigquery-jdbc/pom.xml index 776a9bad2..2f225b6d8 100644 --- a/google-cloud-bigquery-jdbc/pom.xml +++ b/google-cloud-bigquery-jdbc/pom.xml @@ -48,6 +48,18 @@ 3.5.2 ${skipSurefire} + + true + + + + + org.apache.maven.plugins + maven-failsafe-plugin + + + true + diff --git a/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLogger.java b/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLogger.java index ef963d87d..a67234415 100644 --- a/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLogger.java +++ b/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcRootLogger.java @@ -43,6 +43,7 @@ class BigQueryJdbcRootLogger { private static final Logger logger = Logger.getLogger("com.google.cloud.bigquery"); private static final Logger storageLogger = Logger.getLogger("com.google.cloud.bigquery.storage"); + private static final boolean isTest = Boolean.getBoolean("JDBC_TESTS"); private static Handler fileHandler = null; private static Path currentLogPath = null; @@ -51,6 +52,12 @@ class BigQueryJdbcRootLogger { static { logger.setUseParentHandlers(false); storageLogger.setUseParentHandlers(true); + if (isTest) { + ConsoleHandler consoleHandler = new ConsoleHandler(); + consoleHandler.setLevel(Level.SEVERE); + consoleHandler.setFormatter(getFormatter()); + logger.addHandler(consoleHandler); + } } public static Formatter getFormatter() { @@ -111,13 +118,12 @@ private static void setHandler() throws IOException { // If File handler exists, use it. Else create new one. for (Handler h : logger.getHandlers()) { if (h instanceof ConsoleHandler) { - h.close(); - logger.removeHandler(h); - break; - } - if (h instanceof FileHandler) { + if (!isTest) { + h.close(); + logger.removeHandler(h); + } + } else if (h instanceof FileHandler) { fileHandler = h; - break; } }