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

Reply via email to