@SuppressWarnings("unchecked")
    public String[] getAttributeNames() {

        List<String> names = new ArrayList<>();
        Enumeration<String> keys = attributes.keys();
        while (keys.hasMoreElements()) {
            names.add((String) keys.nextElement());
        }
        String[] results = new String[names.size()];
        for (int i = 0; i < results.length; i++) {
            results[i] = (String) names.get(i);
        }
        return (results);

    }
Return an array containing the names of all currently defined configuration
attributes. If there are no such attributes, a zero length array is
returned.
jcl-over-slf4j/src/main/java/org/apache/commons/logging/impl/SLF4JLogFactory.java