I filed this issue two years ago, and got no responses. Now I read in the news that ContextSelector is going away altogether. This will completely break our library, and prevent us from configuring logging separately in our applications. We have a need to configure logging independently within the same application. Consider a multi-user server in which each session gets logged to a different location. Separating the logging contexts is simple; we have a library Csar for that, which you can read about here: https://dzone.com/articles/creating-local-globals-with-csar . We have already implemented this for Logback; read about it at https://clogr.io/ . One problem with traditional Logback context selectors is that StaticLoggerBinder uses a brittle kludge to see which context selector to load first. I describe in depth the Logback bootstrap loading at https://stackoverflow.com/a/38317149/421049 . As you can see with Java 9, having a static class that can appear in any JAR (or multiple JARs!) won't even be supported anymore with Java modules, and was unwieldy to begin with. However the solution is not to remove context selectors altogether. This will completely break our Clogr library and applications. You simply need to use the standard service provider mechanism, which I think is still supported and even expanded upon with the new Java module system. Allow us a way to specify which context selector to use starting up; otherwise, if none are registered, use the default context selector. It's as simple as that. But don't break everything by removing it altogether, please! |