We support all of those, except for #6 (though I am pretty sure we can add that). (Also - log4j2 seriously doesn't support runtime level changes? Yikes...)
Actually #5 is actually a "so-so" kind of thing. To support the i18n stuff we're supposed to support, you do need one additional compile-time-only JAR, but it uses Javac's built-in and standard annotation processing mechanism, so it works fine even if you just run javac on the command line. If you do not use the i18n mechanism though, that part is completely optional. But beyond that, it's just one JAR at runtime (plus the backend of choice, if it != JUL).