For many project use the log4j, actually solr use slf logger framework, slf can easy to integrate with log4j by design.
Solr use log4j-over-slf.jar to handle log4j case.
This jar has some issues.
a. Actually last invoke slf to print the logger (For solr it is JDK14.logging).
b. Not implement all log4j function. ex. Logger.setLevel()
c. JDK14 log miss some function, ex. thread.info, day rolling
Some dependence project had been used log4j that the customer still want to use it. JDK14 log has many different with Log4j, at least configuration file can't reuse.
The bad thing is log4j-over-slf.jar conflict with log4j. If use solr, the other project have to remove log4j.
I think it shouldn't use log4j-over-slf.jar, still reuse log4j if customer want to use it.