Hi all,
In a Slack discussion Volkan proposed (among other things) to:
* raise the Java requirements in 3.x to Java 17. It is the same
requirement as Spring Boot 3.x has, so I don't see a reason to lower
the bar. Besides Java 21 will be an LTS.
* deprecate some modules in 2.x and drop them in 3.0.x, restore them
if a user requests it in 3.1.x.
While the number of downloads is not the only criterium (a big company
with an internal Maven repo counts 1, a student's project that tries
multiple version counts more), these are the stats for last month:
1 log4j-bom 35178445
2 log4j-api 30598923
3 log4j-core 15567816
4 log4j-to-slf4j 14036879
5 log4j-slf4j-impl 8675173
6 log4j-1.2-api 3454601
7 log4j-jul 2120049
8 log4j-web 1964937
9 log4j-layout-template-json 1760437
10 log4j-slf4j2-impl 1013605
11 log4j-jcl 566636
12 log4j-appserver 245029
13 log4j-iostreams 209990
14 log4j-spring-boot 87578
15 log4j-spring-cloud-config-client 38332
16 log4j-jakarta-web 37351
17 log4j-jpl 20295
18 log4j-flume-ng 14055
19 log4j-taglib 13989
20 log4j-couchdb 12781
21 log4j-mongodb4 4623
22 log4j-kubernetes 2618
23 log4j-jpa 1252
24 log4j-mongodb3 1143
25 log4j-docker 1122
26 log4j-cassandra 898
27 log4j-jakarta-smtp 741
28 log4j-jdbc-dbcp2 708
29 log4j-to-jul 297
I propose to have a bar at 100k, so we keep everything up to
`log4j-iostreams` + some modules under the line that are deemed
important.
I would keep `log4j-to-jul`, mainly because it is a third
implementation of the Log4j API and I used it at work, when I didn't
get the permission to use Log4j Core. NB: the `2.x` version of
`log4j-to-jul` will still work with the `3.x` version of `log4j-api`,
but it might require a modularized version to be fully compatible.
The stats of `log4j-appserver` are unexpected. I guess the Jetty 9.x
support drives it (Jetty 9.x reached EOL) more than the Tomcat
support. So we could even deprecate this one and create a
`log4j-tomcat` module or drop it entirely (I will pick up the Tomcat
part in my `eu.copernik` modules).
Piotr
PS: The downloads of the 3.x modules split from `log4j-core` are not
that great either. In the third column I renormalize them so that
`log4j-core` has 15M downloads:
log4j-core 78627 15567816
1 log4j-jdbc 55 10890
2 log4j-layout-jackson 55 10890
3 log4j-jndi 44 8712
4 log4j-script 44 8712
5 log4j-kafka 40 7920
6 log4j-jms 39 7722
7 log4j-csv 38 7524
8 log4j-jeromq 37 7326
9 log4j-smtp 37 7326
10 log4j-layout-jackson-json 33 6534
11 log4j-layout-jackson-xml 30 5940
12 log4j-layout-jackson-yaml 24 4752