[slf4j-dev] [JIRA] (SLF4J-408) Incorrect module name for log4j-over-slf4j

QOS.CH (JIRA) noreply-jira at qos.ch
Sun Apr 23 09:23:00 CEST 2017


    [ https://jira.qos.ch/browse/SLF4J-408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18754#comment-18754 ] 

Stephen Colebourne commented on SLF4J-408:
------------------------------------------

If I understand how slf4j works correctly, the slf4j jar file pretends to be the log4j jar file. When you take modules into account, that means it must use the same module name. This isn't new - slf4j uses Apache's package names today. ie. the only way to make JPMS modules work is to name them after the super-package they contain.

In practice, Maven will have to have a way to select which artifact to use when two map to the same module name.

> Incorrect module name for log4j-over-slf4j
> ------------------------------------------
>
>                 Key: SLF4J-408
>                 URL: https://jira.qos.ch/browse/SLF4J-408
>             Project: SLF4J
>          Issue Type: Bug
>          Components: log4j-over-slf4j
>    Affects Versions: 1.8.0-alpha1
>            Reporter: Stephen Colebourne
>            Assignee: SLF4J developers list
>
> I need to write this exact use case up in more detail, but see the comments section of my [naming article|http://blog.joda.org/2017/04/java-se-9-jpms-module-naming.html]. Basically, the module name must be the same for both the real log4j and the "fake" one being supplied by this artifact.
> This is because the purpose of this module is to replace the log4j one, and because two packages cannot be in the same module. It is up to the build system, ie. Maven, to select the correct artifact to fulfill a given module name.
> Based on discussions on the commons-dev mailing list, I'm proposing [these as the module names|http://mail-archives.apache.org/mod_mbox/commons-dev/201704.mbox/%3CCACzrW9A4ycTU4vZ08LPr_AhnZuJcP9xcBO8NqOy13FxzG35mPQ%40mail.gmail.com%3E], notably `org.apache.logging.log4j`. (This is based on my super-package reverse-DNS standard naming approach)
> Thus the module-info.java file needs to change from a module name of `org.slf4j.log4j_over_slf4j` to `org.apache.logging.log4j`.



--
This message was sent by Atlassian JIRA
(v7.3.1#73012)


More information about the slf4j-dev mailing list