Allow to control the Gerrit log level for running tests from system var

The log level for the 'com.google.gerrit' package when running tests can
now be controlled by the 'GERRIT_LOG_LEVEL' system variable.
Alternatively if the system variable is not set, the log level can be
also set by the 'gerrit.logLevel' system property. Allowed values are
DEBUG, INFO, WARN, ERROR, FATAL, OFF, TRACE and ALL (case-sensitive,
also see org.apache.log4j.Level).

If not set, or set to an invalid value, the default log level is INFO.
Once the CI server was adapted to set the system variable we may change
the default log level back to DEBUG so that debug logs are generated
when running tests locally (we had to lower the log level from DEBUG
to INFO because the log amount was too large for the CI server to
display, see Change I6b13ee504).

Bug: Issue 11953
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I00c203419dbdff568f51bbdcc2edeaf0b8fa7df8
diff --git a/java/com/google/gerrit/acceptance/GerritServer.java b/java/com/google/gerrit/acceptance/GerritServer.java
index 6e736a0..c026202 100644
--- a/java/com/google/gerrit/acceptance/GerritServer.java
+++ b/java/com/google/gerrit/acceptance/GerritServer.java
@@ -269,7 +269,7 @@
 
   private static final ImmutableMap<String, Level> LOG_LEVELS =
       ImmutableMap.<String, Level>builder()
-          .put("com.google.gerrit", Level.INFO)
+          .put("com.google.gerrit", getGerritLogLevel())
 
           // Silence non-critical messages from MINA SSHD.
           .put("org.apache.mina", Level.WARN)
@@ -307,6 +307,14 @@
           .put("org.eclipse.jgit.util.FS", Level.WARN)
           .build();
 
+  private static Level getGerritLogLevel() {
+    String value = Strings.nullToEmpty(System.getenv("GERRIT_LOG_LEVEL"));
+    if (value.isEmpty()) {
+      value = Strings.nullToEmpty(System.getProperty("gerrit.logLevel"));
+    }
+    return Level.toLevel(value, Level.INFO);
+  }
+
   private static boolean forceLocalDisk() {
     String value = Strings.nullToEmpty(System.getenv("GERRIT_FORCE_LOCAL_DISK"));
     if (value.isEmpty()) {