summaryrefslogtreecommitdiffstats
path: root/vespalog
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-08-16 16:51:06 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-08-16 16:51:06 +0200
commita62a3b47817ebb52f8ea4413d37804d4da459171 (patch)
treed63616ed896cd9b6d86c99fe5f211c50c7576c7d /vespalog
parent47f77d0c8a94c3adb8389b581cacf24c03aa4290 (diff)
Look for upper case log levels by modifying the search term
Diffstat (limited to 'vespalog')
-rw-r--r--vespalog/src/main/java/com/yahoo/log/LogLevel.java19
-rw-r--r--vespalog/src/test/java/com/yahoo/log/LogLevelTestCase.java9
2 files changed, 10 insertions, 18 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;
}
diff --git a/vespalog/src/test/java/com/yahoo/log/LogLevelTestCase.java b/vespalog/src/test/java/com/yahoo/log/LogLevelTestCase.java
index aa9a2b36221..8caa01f775b 100644
--- a/vespalog/src/test/java/com/yahoo/log/LogLevelTestCase.java
+++ b/vespalog/src/test/java/com/yahoo/log/LogLevelTestCase.java
@@ -55,23 +55,14 @@ public class LogLevelTestCase {
@Test
public void testNameToLevelMapping () {
assertEquals(LogLevel.UNKNOWN, LogLevel.parse("unknown"));
- assertEquals(LogLevel.UNKNOWN, LogLevel.parse("UNKNOWN"));
assertEquals(LogLevel.FATAL, LogLevel.parse("fatal"));
- assertEquals(LogLevel.FATAL, LogLevel.parse("FATAL"));
assertEquals(LogLevel.ERROR, LogLevel.parse("error"));
- assertEquals(LogLevel.ERROR, LogLevel.parse("ERROR"));
assertEquals(LogLevel.WARNING, LogLevel.parse("warning"));
- assertEquals(LogLevel.WARNING, LogLevel.parse("WARNING"));
assertEquals(LogLevel.INFO, LogLevel.parse("info"));
- assertEquals(LogLevel.INFO, LogLevel.parse("INFO"));
assertEquals(LogLevel.CONFIG, LogLevel.parse("config"));
- assertEquals(LogLevel.CONFIG, LogLevel.parse("CONFIG"));
assertEquals(LogLevel.EVENT, LogLevel.parse("event"));
- assertEquals(LogLevel.EVENT, LogLevel.parse("EVENT"));
assertEquals(LogLevel.DEBUG, LogLevel.parse("debug"));
- assertEquals(LogLevel.DEBUG, LogLevel.parse("DEBUG"));
assertEquals(LogLevel.SPAM, LogLevel.parse("spam"));
- assertEquals(LogLevel.SPAM, LogLevel.parse("SPAM"));
LogLevel.getLevels().values().forEach(level -> assertEquals(level, LogLevel.parse(level.getName())));
}