if (Level.isDefault(level)) { if (val != null) { val = val.trim();
public void setLevel(String logger, String level) { // make sure both uppercase and lowercase levels are supported level = level.toUpperCase(); // check if the level is valid Level lvl = Level.valueOf(level); // Default logger if (logger == null) { logger = LogServiceInternal.ROOT_LOGGER; } // Verify if (lvl == Level.DEFAULT && LogServiceInternal.ROOT_LOGGER.equals(logger)) { throw new IllegalStateException("Can not unset the ROOT logger"); } // Get config Configuration cfg = getConfiguration(); Dictionary<String, Object> props = cfg.getProperties(); // Update getDelegate(props).setLevel(logger, level); // Save try { cfg.update(props); } catch (IOException e) { throw new RuntimeException("Error writing log config to config admin", e); } }
public void setLevel(String logger, String level) { if (logger == null || LogServiceInternal.ROOT_LOGGER.equalsIgnoreCase(logger)) { config.put(ROOT_LOGGER_LEVEL, level); } else { String loggerKey = null; for (String key : config.keySet()) { Matcher matcher = Pattern.compile("\\Q" + LOGGER_PREFIX + "\\E([a-zA-Z_]+)\\Q" + NAME_SUFFIX + "\\E").matcher(key); if (matcher.matches()) { String name = config.get(key).toString(); if (name.matches(logger)) { loggerKey = matcher.group(1); break; } } } if (loggerKey != null) { if (Level.isDefault(level)) { config.remove(level(loggerKey)); } else { config.put(level(loggerKey), level); } } else { loggerKey = logger.replace('.', '_').toLowerCase(); config.put(name(loggerKey), logger); config.put(level(loggerKey), level); } } }