[ 
https://issues.apache.org/jira/browse/LOG4J2-2056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16179761#comment-16179761
 ] 

Ralph Goers commented on LOG4J2-2056:
-------------------------------------

[~scolebou...@joda.org] Thanks for taking a look. Your feedback is greatly 
appreciated. My comments:
# Using log4j.impl is wrong. You are correct that it should be log4j.core.
# To be honest I've never looked at the liquibase module. If it has to keep 
that weird package name then it cannot be modularized.
# log4j-slf4j-impl and log4j-to-slf4j are interesting. slf4j-impl binds the 
SLF4J API to Log4j while log4j-to-slf4j binds the Log4j API to SLF4J. Neither 
of these implement or replace the others API. Both modules use the same package 
names, which is good since they cannot both be present at the same time. I 
don't feel comfortable giving them the same module name since they do two 
different things and since having the package name exist in both modules will 
be enough to prevent them from both being present. So that is why neither of 
the module names match the package name.

> Modularize Log4j as automatic modules
> -------------------------------------
>
>                 Key: LOG4J2-2056
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2056
>             Project: Log4j 2
>          Issue Type: New Feature
>    Affects Versions: 2.9.1
>            Reporter: Ralph Goers
>            Assignee: Ralph Goers
>
> To fully support Java 9 all Log4j jars must (at least) be packaged as 
> automatic modules. We should, as much as possible, follow the recommendations 
> at http://blog.joda.org/2017/05/java-se-9-jpms-automatic-modules.html. Given 
> that the module names would be:
> ||Jar name||Module name||
> |log4j-api|org.apache.logging.log4j|
> |log4j-core|org.apache.logging.log4j.impl|
> |log4j-1.2-api|org.apache.log4j|
> |log4j-appserver|org.apache.logging.log4j.appserver|
> |log4j-flume-ng|org.apache.logging.log4j.flume|
> |log4j-iostreams|org.apache.logging.log4j.iostreams|
> |log4j-jcl|org.apache.logging.log4j.jcl|
> |log4j-jmx-gui|org.apache.logging.log4j.jmx.gui|
> |log4j-jul|org.apache.logging.log4j.jul|
> |log4j-liquibase|org.apache.logging.log4j.liquibase|
> |log4j-nosql|org.apache.logging.log4j.nosql|
> |log4j-sl4j-impl|org.apache.logging.log4j.slf4j.impl*|
> |log4j-to-slf4j|org.apache.logging.log4j.to.slf4j|
> |log4j-taglib|org.apache.logging.log4j.taglib|
> |log4j-web|org.apache.logging.log4j.web|
> # Notably missing is log4j-osgi. Until OSGi documents how it will support 
> Java 9 I see no point in modularizing the OSGi jar.
> # log4j-slf4j-impl cannot currently be modularized until the binding is 
> modified. It cannot have classes in the org.slf4j namespace.
> # log4j-slf4j-impl and log4j-to-slf4j both use the same package name - 
> org.apache.logging.log4j.slf4j. This will remain the same as it will prevent 
> them both from being loaded at the same time.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to