public synchronized List<String> setLevel(String namespace, Level level) {
        Objects.requireNonNull(namespace, "Logging namespace may not be null");
        Objects.requireNonNull(level, "Level may not be null");

        log.info("Setting level of namespace {} and children to {}", namespace, level);
        List<org.apache.log4j.Logger> childLoggers = loggers(namespace);

        List<String> result = new ArrayList<>();
        for (org.apache.log4j.Logger logger: childLoggers) {
            setLevel(logger, level);
            result.add(logger.getName());
        }
        Collections.sort(result);

        return result;
    }
@Test
    public void testSetLevelNullArguments() {
        Logger root = logger("root");
        Loggers loggers = new TestLoggers(root);
        assertThrows(NullPointerException.class, () -> loggers.setLevel(null, Level.INFO));
        assertThrows(NullPointerException.class, () -> loggers.setLevel("root", null));
    }