LEGO/woof

Support SLF4J 2.x.x

Closed this issue · 0 comments

Now that 2.0.x is out, we need to either fully adopt it or split the slf4j module in 2 versions.

image

As I read the table above, users DO need to update their SLF4J API-version if we fully adopt version 2.0.x. This might not be straightforward to do for the users if the API is provided by their framework, or if the API is consumed by downstream dependencies (e.g. http4s).
Ultimately, this means splitting is the only sensible option if we mean to support the new version, as users will be forced to override dependencies of downstream libraries otherwise.

org.legogroup.woof.slf4j.WoofLogger has a hard dependency on slf4j-api, however, since 2.0.x is backwards compatible, we should be able to re-use that code for both 1.x.x and 2.x.x lines leaving only a re-implementation of org.slf4j.impl.StaticLoggerBinder which is small.

If we choose to go ahead with this, the 2.x.x line needs to implement a ServiceLoader instead of a static binder while keeping WoofLogger completely as-is.