Skip to content

Commit

Permalink
Issue #4830 - Improved notification of configuration mistakes on leve…
Browse files Browse the repository at this point in the history
…l names

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
  • Loading branch information
joakime committed May 8, 2020
1 parent 1c2c389 commit 69e1d11
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
import java.util.Locale;
import java.util.Properties;
import java.util.TimeZone;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
* JettyLogger specific configuration:
Expand Down Expand Up @@ -115,26 +117,39 @@ public JettyLevel getLevel(String name)
JettyLevel level = JettyLoggerFactory.walkParentLoggerNames(startName, key ->
{
String levelStr = properties.getProperty(key + SUFFIX_LEVEL);
return JettyLevel.strToLevel(levelStr);
return toJettyLevel(key, levelStr);
});

if (level == null)
{
// Try slf4j root logging config.
String levelStr = properties.getProperty(JettyLogger.ROOT_LOGGER_NAME + SUFFIX_LEVEL);
level = JettyLevel.strToLevel(levelStr);
level = toJettyLevel(JettyLogger.ROOT_LOGGER_NAME, levelStr);
}

if (level == null)
{
// Try legacy root logging config.
String levelStr = properties.getProperty("log" + SUFFIX_LEVEL);
level = JettyLevel.strToLevel(levelStr);
level = toJettyLevel("log", levelStr);
}

return level != null ? level : DEFAULT_LEVEL;
}

protected static JettyLevel toJettyLevel(String loggerName, String levelStr)
{
if (levelStr == null)
return null;
JettyLevel level = JettyLevel.strToLevel(levelStr);
if (level == null)
{
System.err.printf("Unknown JettyLogger/Slf4J Level [%s]=[%s], expecting only [%s] as values.",
loggerName, levelStr, Stream.of(JettyLevel.values()).map(JettyLevel::toString).collect(Collectors.joining(", ")));
}
return level;
}

public TimeZone getTimeZone(String key)
{
String zoneIdStr = properties.getProperty(key);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
import java.util.concurrent.ConcurrentMap;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;

import org.slf4j.ILoggerFactory;
import org.slf4j.Logger;
Expand Down Expand Up @@ -164,11 +162,9 @@ public String getLoggerLevel(String loggerName)
@Override
public boolean setLoggerLevel(String loggerName, String levelName)
{
JettyLevel level = JettyLevel.strToLevel(levelName);
JettyLevel level = JettyLoggerConfiguration.toJettyLevel(loggerName, levelName);
if (level == null)
{
System.err.printf("Unknown JettyLogger/Slf4J Level [%s]=[%s], expecting only [%s] as values.",
loggerName, levelName, Stream.of(JettyLevel.values()).map(JettyLevel::toString).collect(Collectors.joining(", ")));
return false;
}
JettyLogger jettyLogger = getJettyLogger(loggerName);
Expand Down

0 comments on commit 69e1d11

Please sign in to comment.