diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-08-16 16:51:06 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-08-16 16:51:06 +0200 |
commit | a62a3b47817ebb52f8ea4413d37804d4da459171 (patch) | |
tree | d63616ed896cd9b6d86c99fe5f211c50c7576c7d /vespalog/src/main | |
parent | 47f77d0c8a94c3adb8389b581cacf24c03aa4290 (diff) |
Look for upper case log levels by modifying the search term
Diffstat (limited to 'vespalog/src/main')
-rw-r--r-- | vespalog/src/main/java/com/yahoo/log/LogLevel.java | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/vespalog/src/main/java/com/yahoo/log/LogLevel.java b/vespalog/src/main/java/com/yahoo/log/LogLevel.java index f9cc4e9b7e3..daf2a0ff44d 100644 --- a/vespalog/src/main/java/com/yahoo/log/LogLevel.java +++ b/vespalog/src/main/java/com/yahoo/log/LogLevel.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.log; +import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; import java.util.LinkedHashMap; @@ -104,21 +105,13 @@ public class LogLevel extends Level { // manually enter the valid log levels we shall recognize in VESPA nameToLevel = new LinkedHashMap<String, Level>(32); nameToLevel.put("fatal", FATAL); - nameToLevel.put("FATAL", FATAL); nameToLevel.put("error", ERROR); - nameToLevel.put("ERROR", ERROR); nameToLevel.put("warning", WARNING); - nameToLevel.put("WARNING", WARNING); nameToLevel.put("config", CONFIG); - nameToLevel.put("CONFIG", CONFIG); nameToLevel.put("info", INFO); - nameToLevel.put("INFO", INFO); nameToLevel.put("event", EVENT); - nameToLevel.put("EVENT", EVENT); nameToLevel.put("debug", DEBUG); - nameToLevel.put("DEBUG", DEBUG); nameToLevel.put("spam", SPAM); - nameToLevel.put("SPAM", SPAM); } private LogLevel(String name, int value) { @@ -139,7 +132,15 @@ public class LogLevel extends Level { public static Level parse(String name) { Level l = nameToLevel.get(name); if (l == null) { - return UNKNOWN; + // If name was not found, try changing the case of each character from (assumed) upper to lower: + byte[] nameBytes = name.getBytes(StandardCharsets.UTF_8); + for (int i = 0; i < nameBytes.length; i++) + nameBytes[i] += 32; + l = nameToLevel.get(new String(nameBytes)); + + if (l == null) { + return UNKNOWN; + } } return l; } |