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