You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@logging.apache.org by Gary Gregory <ga...@gmail.com> on 2018/01/28 18:31:46 UTC

[log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Hi All,

Now that the ZeroMQ via JeroMQ support is in its own module log4j-jeromq, I
wonder if the Java package should change from

org.apache.logging.log4j.core.appender.mom.jeromq

to

org.apache.logging.log4j.appender.mom.jeromq

?

Same for the recently moved JPA appender.

Same for impending move of the Kafka appender.

This would break BC for Core for apps that directly reference these
classes. As opposed to referencing the appenders from an XML/JSON/YAML
config file.

Gary

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Ralph Goers <ra...@dslextreme.com>.

> On Jan 28, 2018, at 9:22 PM, Matt Sicker <bo...@gmail.com> wrote:
> 
> XML configuration requires the java.xml module which is a dependency to
> consider now.

Really?  That sucks. 

Ralph



Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Matt Sicker <bo...@gmail.com>.
XML configuration requires the java.xml module which is a dependency to
consider now.

I like the finer grained names.

On 28 January 2018 at 22:17, Gary Gregory <ga...@gmail.com> wrote:

> Beyond these moves, the next slice and dice would be to deal with our XML,
> JSON, and YAML dependencies:
>
> We have no dependencies to read an XML configuration.
>
> For JSON and YAML configs, we use Jackson.
>
> For XML, JSON, and YAML layouts we use Jackson.
>
> We could spit things out like this:
>
> log4j-json: JSON configuration and layout using Jackson
> log4j-xml: XML layout using Jackson (XML configuration remains in
> log4j-core)
> log4j-yaml: YAML configuration and layout using Jackson
>
> Or finner:
>
> log4j-config-json: JSON configuration using Jackson
> log4j-layout-json: JSON layout using Jackson
> log4j-config-yaml: YAML configuration using Jackson
> log4j-layout-json: JSON layout using Jackson
>
> The thinking being, why should I drag in JSON configuration code if all I
> want is a JSON layout.
>
> Thoughts?
>
> Gary
>
>
> On Sun, Jan 28, 2018 at 7:38 PM, Gary Gregory <ga...@gmail.com>
> wrote:
>
> >
> >
> > On Sun, Jan 28, 2018 at 2:25 PM, Ralph Goers <ralph.goers@dslextreme.com
> >
> > wrote:
> >
> >> I should add that each module must have a unique package hierarchy so,
> in
> >> general, the package names should be org.apache.logging.log4j.
> modulename.
> >> In this case it would be org.apache.logging.log4j.jeromq.apppender.
> The
> >> mom package probably has no value.
> >>
> >
> > I'll change the packages and write the changes in the release notes.
> >
> > Gary
> >
> >
> >>
> >> Ralph
> >>
> >> > On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com>
> >> wrote:
> >> >
> >> > Any component that is not in the core module MUST NOT use the core
> >> package. That would make it impossible to package them as Java 9
> modules.
> >> >
> >> > Ralph
> >> >
> >> >> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com>
> >> wrote:
> >> >>
> >> >> Hi All,
> >> >>
> >> >> Now that the ZeroMQ via JeroMQ support is in its own module
> >> log4j-jeromq, I
> >> >> wonder if the Java package should change from
> >> >>
> >> >> org.apache.logging.log4j.core.appender.mom.jeromq
> >> >>
> >> >> to
> >> >>
> >> >> org.apache.logging.log4j.appender.mom.jeromq
> >> >>
> >> >> ?
> >> >>
> >> >> Same for the recently moved JPA appender.
> >> >>
> >> >> Same for impending move of the Kafka appender.
> >> >>
> >> >> This would break BC for Core for apps that directly reference these
> >> >> classes. As opposed to referencing the appenders from an
> XML/JSON/YAML
> >> >> config file.
> >> >>
> >> >> Gary
> >> >
> >>
> >>
> >>
> >
>



-- 
Matt Sicker <bo...@gmail.com>

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Ralph Goers <ra...@dslextreme.com>.
I should note that if we decide to keep things in core, like XML, they can be declared as transient (making the dependency optional) in the module-info.java file. 

For me the goal is to have log4j-core contain what 80% of our users want. I suspect both JSON and XML fall into that.

Ralph

> On Jan 28, 2018, at 9:17 PM, Gary Gregory <ga...@gmail.com> wrote:
> 
> Beyond these moves, the next slice and dice would be to deal with our XML,
> JSON, and YAML dependencies:
> 
> We have no dependencies to read an XML configuration.
> 
> For JSON and YAML configs, we use Jackson.
> 
> For XML, JSON, and YAML layouts we use Jackson.
> 
> We could spit things out like this:
> 
> log4j-json: JSON configuration and layout using Jackson
> log4j-xml: XML layout using Jackson (XML configuration remains in
> log4j-core)
> log4j-yaml: YAML configuration and layout using Jackson
> 
> Or finner:
> 
> log4j-config-json: JSON configuration using Jackson
> log4j-layout-json: JSON layout using Jackson
> log4j-config-yaml: YAML configuration using Jackson
> log4j-layout-json: JSON layout using Jackson
> 
> The thinking being, why should I drag in JSON configuration code if all I
> want is a JSON layout.
> 
> Thoughts?
> 
> Gary
> 
> 
> On Sun, Jan 28, 2018 at 7:38 PM, Gary Gregory <ga...@gmail.com>
> wrote:
> 
>> 
>> 
>> On Sun, Jan 28, 2018 at 2:25 PM, Ralph Goers <ra...@dslextreme.com>
>> wrote:
>> 
>>> I should add that each module must have a unique package hierarchy so, in
>>> general, the package names should be org.apache.logging.log4j.modulename.
>>> In this case it would be org.apache.logging.log4j.jeromq.apppender.  The
>>> mom package probably has no value.
>>> 
>> 
>> I'll change the packages and write the changes in the release notes.
>> 
>> Gary
>> 
>> 
>>> 
>>> Ralph
>>> 
>>>> On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com>
>>> wrote:
>>>> 
>>>> Any component that is not in the core module MUST NOT use the core
>>> package. That would make it impossible to package them as Java 9 modules.
>>>> 
>>>> Ralph
>>>> 
>>>>> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com>
>>> wrote:
>>>>> 
>>>>> Hi All,
>>>>> 
>>>>> Now that the ZeroMQ via JeroMQ support is in its own module
>>> log4j-jeromq, I
>>>>> wonder if the Java package should change from
>>>>> 
>>>>> org.apache.logging.log4j.core.appender.mom.jeromq
>>>>> 
>>>>> to
>>>>> 
>>>>> org.apache.logging.log4j.appender.mom.jeromq
>>>>> 
>>>>> ?
>>>>> 
>>>>> Same for the recently moved JPA appender.
>>>>> 
>>>>> Same for impending move of the Kafka appender.
>>>>> 
>>>>> This would break BC for Core for apps that directly reference these
>>>>> classes. As opposed to referencing the appenders from an XML/JSON/YAML
>>>>> config file.
>>>>> 
>>>>> Gary
>>>> 
>>> 
>>> 
>>> 
>> 



Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Gary Gregory <ga...@gmail.com>.
On Sun, Jan 28, 2018 at 9:17 PM, Gary Gregory <ga...@gmail.com>
wrote:

> Beyond these moves, the next slice and dice would be to deal with our XML,
> JSON, and YAML dependencies:
>
> We have no dependencies to read an XML configuration.
>
> For JSON and YAML configs, we use Jackson.
>
> For XML, JSON, and YAML layouts we use Jackson.
>
> We could spit things out like this:
>
> log4j-json: JSON configuration and layout using Jackson
> log4j-xml: XML layout using Jackson (XML configuration remains in
> log4j-core)
> log4j-yaml: YAML configuration and layout using Jackson
>
> Or finner:
>
> log4j-config-json: JSON configuration using Jackson
> log4j-layout-json: JSON layout using Jackson
> log4j-config-yaml: YAML configuration using Jackson
> log4j-layout-json: JSON layout using Jackson
>
> The thinking being, why should I drag in JSON configuration code if all I
> want is a JSON layout.
>
> Thoughts?
>

And now that we know that XML is not in java.base, we would also have:

log4j-config-xml: XML configuration using our current custom code and not
Jackson.
log4j-layout-xml: XML layout using Jackson

?

Gary


>
> Gary
>
>
> On Sun, Jan 28, 2018 at 7:38 PM, Gary Gregory <ga...@gmail.com>
> wrote:
>
>>
>>
>> On Sun, Jan 28, 2018 at 2:25 PM, Ralph Goers <ra...@dslextreme.com>
>> wrote:
>>
>>> I should add that each module must have a unique package hierarchy so,
>>> in general, the package names should be org.apache.logging.log4j.modulename.
>>> In this case it would be org.apache.logging.log4j.jeromq.apppender.
>>> The mom package probably has no value.
>>>
>>
>> I'll change the packages and write the changes in the release notes.
>>
>> Gary
>>
>>
>>>
>>> Ralph
>>>
>>> > On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com>
>>> wrote:
>>> >
>>> > Any component that is not in the core module MUST NOT use the core
>>> package. That would make it impossible to package them as Java 9 modules.
>>> >
>>> > Ralph
>>> >
>>> >> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com>
>>> wrote:
>>> >>
>>> >> Hi All,
>>> >>
>>> >> Now that the ZeroMQ via JeroMQ support is in its own module
>>> log4j-jeromq, I
>>> >> wonder if the Java package should change from
>>> >>
>>> >> org.apache.logging.log4j.core.appender.mom.jeromq
>>> >>
>>> >> to
>>> >>
>>> >> org.apache.logging.log4j.appender.mom.jeromq
>>> >>
>>> >> ?
>>> >>
>>> >> Same for the recently moved JPA appender.
>>> >>
>>> >> Same for impending move of the Kafka appender.
>>> >>
>>> >> This would break BC for Core for apps that directly reference these
>>> >> classes. As opposed to referencing the appenders from an XML/JSON/YAML
>>> >> config file.
>>> >>
>>> >> Gary
>>> >
>>>
>>>
>>>
>>
>

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Gary Gregory <ga...@gmail.com>.
Beyond these moves, the next slice and dice would be to deal with our XML,
JSON, and YAML dependencies:

We have no dependencies to read an XML configuration.

For JSON and YAML configs, we use Jackson.

For XML, JSON, and YAML layouts we use Jackson.

We could spit things out like this:

log4j-json: JSON configuration and layout using Jackson
log4j-xml: XML layout using Jackson (XML configuration remains in
log4j-core)
log4j-yaml: YAML configuration and layout using Jackson

Or finner:

log4j-config-json: JSON configuration using Jackson
log4j-layout-json: JSON layout using Jackson
log4j-config-yaml: YAML configuration using Jackson
log4j-layout-json: JSON layout using Jackson

The thinking being, why should I drag in JSON configuration code if all I
want is a JSON layout.

Thoughts?

Gary


On Sun, Jan 28, 2018 at 7:38 PM, Gary Gregory <ga...@gmail.com>
wrote:

>
>
> On Sun, Jan 28, 2018 at 2:25 PM, Ralph Goers <ra...@dslextreme.com>
> wrote:
>
>> I should add that each module must have a unique package hierarchy so, in
>> general, the package names should be org.apache.logging.log4j.modulename.
>> In this case it would be org.apache.logging.log4j.jeromq.apppender.  The
>> mom package probably has no value.
>>
>
> I'll change the packages and write the changes in the release notes.
>
> Gary
>
>
>>
>> Ralph
>>
>> > On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com>
>> wrote:
>> >
>> > Any component that is not in the core module MUST NOT use the core
>> package. That would make it impossible to package them as Java 9 modules.
>> >
>> > Ralph
>> >
>> >> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com>
>> wrote:
>> >>
>> >> Hi All,
>> >>
>> >> Now that the ZeroMQ via JeroMQ support is in its own module
>> log4j-jeromq, I
>> >> wonder if the Java package should change from
>> >>
>> >> org.apache.logging.log4j.core.appender.mom.jeromq
>> >>
>> >> to
>> >>
>> >> org.apache.logging.log4j.appender.mom.jeromq
>> >>
>> >> ?
>> >>
>> >> Same for the recently moved JPA appender.
>> >>
>> >> Same for impending move of the Kafka appender.
>> >>
>> >> This would break BC for Core for apps that directly reference these
>> >> classes. As opposed to referencing the appenders from an XML/JSON/YAML
>> >> config file.
>> >>
>> >> Gary
>> >
>>
>>
>>
>

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Apache <ra...@dslextreme.com>.
I haven’t looked yet but make sure the new module dependencies are added to Log4J-distribution.

Ralph

> On Jan 29, 2018, at 6:55 AM, Gary Gregory <ga...@gmail.com> wrote:
> 
> On Sun, Jan 28, 2018 at 7:38 PM, Gary Gregory <ga...@gmail.com>
> wrote:
> 
>> 
>> 
>> On Sun, Jan 28, 2018 at 2:25 PM, Ralph Goers <ra...@dslextreme.com>
>> wrote:
>> 
>>> I should add that each module must have a unique package hierarchy so, in
>>> general, the package names should be org.apache.logging.log4j.modulename.
>>> In this case it would be org.apache.logging.log4j.jeromq.apppender.  The
>>> mom package probably has no value.
>>> 
>> 
>> I'll change the packages and write the changes in the release notes.
>> 
> 
> Please review git master for the package name changes and release notes.
> 
> Gary
> 
> 
>> 
>> Gary
>> 
>> 
>>> 
>>> Ralph
>>> 
>>>> On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com>
>>> wrote:
>>>> 
>>>> Any component that is not in the core module MUST NOT use the core
>>> package. That would make it impossible to package them as Java 9 modules.
>>>> 
>>>> Ralph
>>>> 
>>>>> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com>
>>> wrote:
>>>>> 
>>>>> Hi All,
>>>>> 
>>>>> Now that the ZeroMQ via JeroMQ support is in its own module
>>> log4j-jeromq, I
>>>>> wonder if the Java package should change from
>>>>> 
>>>>> org.apache.logging.log4j.core.appender.mom.jeromq
>>>>> 
>>>>> to
>>>>> 
>>>>> org.apache.logging.log4j.appender.mom.jeromq
>>>>> 
>>>>> ?
>>>>> 
>>>>> Same for the recently moved JPA appender.
>>>>> 
>>>>> Same for impending move of the Kafka appender.
>>>>> 
>>>>> This would break BC for Core for apps that directly reference these
>>>>> classes. As opposed to referencing the appenders from an XML/JSON/YAML
>>>>> config file.
>>>>> 
>>>>> Gary
>>>> 
>>> 
>>> 
>>> 
>> 



Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Gary Gregory <ga...@gmail.com>.
On Sun, Jan 28, 2018 at 7:38 PM, Gary Gregory <ga...@gmail.com>
wrote:

>
>
> On Sun, Jan 28, 2018 at 2:25 PM, Ralph Goers <ra...@dslextreme.com>
> wrote:
>
>> I should add that each module must have a unique package hierarchy so, in
>> general, the package names should be org.apache.logging.log4j.modulename.
>> In this case it would be org.apache.logging.log4j.jeromq.apppender.  The
>> mom package probably has no value.
>>
>
> I'll change the packages and write the changes in the release notes.
>

Please review git master for the package name changes and release notes.

Gary


>
> Gary
>
>
>>
>> Ralph
>>
>> > On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com>
>> wrote:
>> >
>> > Any component that is not in the core module MUST NOT use the core
>> package. That would make it impossible to package them as Java 9 modules.
>> >
>> > Ralph
>> >
>> >> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com>
>> wrote:
>> >>
>> >> Hi All,
>> >>
>> >> Now that the ZeroMQ via JeroMQ support is in its own module
>> log4j-jeromq, I
>> >> wonder if the Java package should change from
>> >>
>> >> org.apache.logging.log4j.core.appender.mom.jeromq
>> >>
>> >> to
>> >>
>> >> org.apache.logging.log4j.appender.mom.jeromq
>> >>
>> >> ?
>> >>
>> >> Same for the recently moved JPA appender.
>> >>
>> >> Same for impending move of the Kafka appender.
>> >>
>> >> This would break BC for Core for apps that directly reference these
>> >> classes. As opposed to referencing the appenders from an XML/JSON/YAML
>> >> config file.
>> >>
>> >> Gary
>> >
>>
>>
>>
>

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Gary Gregory <ga...@gmail.com>.
On Sun, Jan 28, 2018 at 2:25 PM, Ralph Goers <ra...@dslextreme.com>
wrote:

> I should add that each module must have a unique package hierarchy so, in
> general, the package names should be org.apache.logging.log4j.modulename.
> In this case it would be org.apache.logging.log4j.jeromq.apppender.  The
> mom package probably has no value.
>

I'll change the packages and write the changes in the release notes.

Gary


>
> Ralph
>
> > On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com>
> wrote:
> >
> > Any component that is not in the core module MUST NOT use the core
> package. That would make it impossible to package them as Java 9 modules.
> >
> > Ralph
> >
> >> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com>
> wrote:
> >>
> >> Hi All,
> >>
> >> Now that the ZeroMQ via JeroMQ support is in its own module
> log4j-jeromq, I
> >> wonder if the Java package should change from
> >>
> >> org.apache.logging.log4j.core.appender.mom.jeromq
> >>
> >> to
> >>
> >> org.apache.logging.log4j.appender.mom.jeromq
> >>
> >> ?
> >>
> >> Same for the recently moved JPA appender.
> >>
> >> Same for impending move of the Kafka appender.
> >>
> >> This would break BC for Core for apps that directly reference these
> >> classes. As opposed to referencing the appenders from an XML/JSON/YAML
> >> config file.
> >>
> >> Gary
> >
>
>
>

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Remko Popma <re...@gmail.com>.
Our release notes are going to need a section “Potential breaking changes”. 

We should start tracking these before we forget. 

(Shameless plug) Every java main() method deserves http://picocli.info

> On Jan 29, 2018, at 6:25, Ralph Goers <ra...@dslextreme.com> wrote:
> 
> I should add that each module must have a unique package hierarchy so, in general, the package names should be org.apache.logging.log4j.modulename. In this case it would be org.apache.logging.log4j.jeromq.apppender.  The mom package probably has no value.
> 
> Ralph
> 
>> On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com> wrote:
>> 
>> Any component that is not in the core module MUST NOT use the core package. That would make it impossible to package them as Java 9 modules.
>> 
>> Ralph
>> 
>>> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com> wrote:
>>> 
>>> Hi All,
>>> 
>>> Now that the ZeroMQ via JeroMQ support is in its own module log4j-jeromq, I
>>> wonder if the Java package should change from
>>> 
>>> org.apache.logging.log4j.core.appender.mom.jeromq
>>> 
>>> to
>>> 
>>> org.apache.logging.log4j.appender.mom.jeromq
>>> 
>>> ?
>>> 
>>> Same for the recently moved JPA appender.
>>> 
>>> Same for impending move of the Kafka appender.
>>> 
>>> This would break BC for Core for apps that directly reference these
>>> classes. As opposed to referencing the appenders from an XML/JSON/YAML
>>> config file.
>>> 
>>> Gary
>> 
> 
> 

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Matt Sicker <bo...@gmail.com>.
On 29 January 2018 at 10:05, Gary Gregory <ga...@gmail.com> wrote:

> How does this relate our use of OSGi "Fragment-Host" in jar files?
>

I'm not so sure. My OSGi experience in the past revolved around proper
bundles mostly which didn't require these weird hacks. Ideally, log4j-core
should just use the ServiceLocator or similar (from a BundleActivator) to
load up plugin classes from other bundles. With that in mind, the non-core
modules will need to Export-Package the same package(s) that it does for
JPMS so that log4j-core can access said plugin classes.

IOW, and for example, do I still to need to declare "Fragment-Host" in
> log4j-cassandra like we do now:
>

That looks like it should work in theory.

-- 
Matt Sicker <bo...@gmail.com>

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Ralph Goers <ra...@dslextreme.com>.
I don’t know enough about OSGi to answer that.

Ralph

> On Jan 29, 2018, at 9:05 AM, Gary Gregory <ga...@gmail.com> wrote:
> 
> How does this relate our use of OSGi "Fragment-Host" in jar files?
> 
> IOW, and for example, do I still to need to declare "Fragment-Host" in
> log4j-cassandra like we do now:
> 
>      <plugin>
>        <groupId>org.apache.felix</groupId>
>        <artifactId>maven-bundle-plugin</artifactId>
>        <configuration>
>          <instructions>
>            <Fragment-Host>org.apache.logging.log4j.core</Fragment-Host>
>            <Export-Package>*</Export-Package>
>          </instructions>
>        </configuration>
>      </plugin>
> 
> Or can that go away since that code lives in
> "org.apache.logging.log4j.cassandra"?
> 
> Gary
> 
> 
> On Sun, Jan 28, 2018 at 2:25 PM, Ralph Goers <ra...@dslextreme.com>
> wrote:
> 
>> I should add that each module must have a unique package hierarchy so, in
>> general, the package names should be org.apache.logging.log4j.modulename.
>> In this case it would be org.apache.logging.log4j.jeromq.apppender.  The
>> mom package probably has no value.
>> 
>> Ralph
>> 
>>> On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com>
>> wrote:
>>> 
>>> Any component that is not in the core module MUST NOT use the core
>> package. That would make it impossible to package them as Java 9 modules.
>>> 
>>> Ralph
>>> 
>>>> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com>
>> wrote:
>>>> 
>>>> Hi All,
>>>> 
>>>> Now that the ZeroMQ via JeroMQ support is in its own module
>> log4j-jeromq, I
>>>> wonder if the Java package should change from
>>>> 
>>>> org.apache.logging.log4j.core.appender.mom.jeromq
>>>> 
>>>> to
>>>> 
>>>> org.apache.logging.log4j.appender.mom.jeromq
>>>> 
>>>> ?
>>>> 
>>>> Same for the recently moved JPA appender.
>>>> 
>>>> Same for impending move of the Kafka appender.
>>>> 
>>>> This would break BC for Core for apps that directly reference these
>>>> classes. As opposed to referencing the appenders from an XML/JSON/YAML
>>>> config file.
>>>> 
>>>> Gary
>>> 
>> 
>> 
>> 



Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Gary Gregory <ga...@gmail.com>.
How does this relate our use of OSGi "Fragment-Host" in jar files?

IOW, and for example, do I still to need to declare "Fragment-Host" in
log4j-cassandra like we do now:

      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <configuration>
          <instructions>
            <Fragment-Host>org.apache.logging.log4j.core</Fragment-Host>
            <Export-Package>*</Export-Package>
          </instructions>
        </configuration>
      </plugin>

Or can that go away since that code lives in
"org.apache.logging.log4j.cassandra"?

Gary


On Sun, Jan 28, 2018 at 2:25 PM, Ralph Goers <ra...@dslextreme.com>
wrote:

> I should add that each module must have a unique package hierarchy so, in
> general, the package names should be org.apache.logging.log4j.modulename.
> In this case it would be org.apache.logging.log4j.jeromq.apppender.  The
> mom package probably has no value.
>
> Ralph
>
> > On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com>
> wrote:
> >
> > Any component that is not in the core module MUST NOT use the core
> package. That would make it impossible to package them as Java 9 modules.
> >
> > Ralph
> >
> >> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com>
> wrote:
> >>
> >> Hi All,
> >>
> >> Now that the ZeroMQ via JeroMQ support is in its own module
> log4j-jeromq, I
> >> wonder if the Java package should change from
> >>
> >> org.apache.logging.log4j.core.appender.mom.jeromq
> >>
> >> to
> >>
> >> org.apache.logging.log4j.appender.mom.jeromq
> >>
> >> ?
> >>
> >> Same for the recently moved JPA appender.
> >>
> >> Same for impending move of the Kafka appender.
> >>
> >> This would break BC for Core for apps that directly reference these
> >> classes. As opposed to referencing the appenders from an XML/JSON/YAML
> >> config file.
> >>
> >> Gary
> >
>
>
>

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Gary Gregory <ga...@gmail.com>.
On Sun, Jan 28, 2018 at 4:24 PM, Remko Popma <re...@gmail.com> wrote:

> I went ahead and changed the epic link on the JIRA tickets related to
> splitting off sub modules. Hope you don’t mind.
>

Great, thank you. I do not mind at all :-)

Gary

>
> On Mon, Jan 29, 2018 at 7:16 Remko Popma <re...@gmail.com> wrote:
>
> > Gary,
> >
> > Would you mind changing the epic link of these and future JIRA tickets to
> > https://issues.apache.org/jira/browse/LOG4J2-2226
> > <https://issues.apache.org/jira/browse/LOG4J2-2226?page=
> com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel> (Log4j
> > core modularization)?
> > That’s a nice way to link them together.
> >
> >
> > (Shameless plug) Every java main() method deserves http://picocli.info
> >
> > On Jan 29, 2018, at 6:25, Ralph Goers <ra...@dslextreme.com>
> wrote:
> >
> > I should add that each module must have a unique package hierarchy so, in
> > general, the package names should be org.apache.logging.log4j.
> modulename.
> > In this case it would be org.apache.logging.log4j.jeromq.apppender.  The
> > mom package probably has no value.
> >
> > Ralph
> >
> > On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com>
> > wrote:
> >
> >
> > Any component that is not in the core module MUST NOT use the core
> > package. That would make it impossible to package them as Java 9 modules.
> >
> >
> > Ralph
> >
> >
> > On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com>
> wrote:
> >
> >
> > Hi All,
> >
> >
> > Now that the ZeroMQ via JeroMQ support is in its own module
> log4j-jeromq, I
> >
> > wonder if the Java package should change from
> >
> >
> > org.apache.logging.log4j.core.appender.mom.jeromq
> >
> >
> > to
> >
> >
> > org.apache.logging.log4j.appender.mom.jeromq
> >
> >
> > ?
> >
> >
> > Same for the recently moved JPA appender.
> >
> >
> > Same for impending move of the Kafka appender.
> >
> >
> > This would break BC for Core for apps that directly reference these
> >
> > classes. As opposed to referencing the appenders from an XML/JSON/YAML
> >
> > config file.
> >
> >
> > Gary
> >
> >
> >
> >
> >
>

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Remko Popma <re...@gmail.com>.
I went ahead and changed the epic link on the JIRA tickets related to
splitting off sub modules. Hope you don’t mind.

On Mon, Jan 29, 2018 at 7:16 Remko Popma <re...@gmail.com> wrote:

> Gary,
>
> Would you mind changing the epic link of these and future JIRA tickets to
> https://issues.apache.org/jira/browse/LOG4J2-2226
> <https://issues.apache.org/jira/browse/LOG4J2-2226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel> (Log4j
> core modularization)?
> That’s a nice way to link them together.
>
>
> (Shameless plug) Every java main() method deserves http://picocli.info
>
> On Jan 29, 2018, at 6:25, Ralph Goers <ra...@dslextreme.com> wrote:
>
> I should add that each module must have a unique package hierarchy so, in
> general, the package names should be org.apache.logging.log4j.modulename.
> In this case it would be org.apache.logging.log4j.jeromq.apppender.  The
> mom package probably has no value.
>
> Ralph
>
> On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com>
> wrote:
>
>
> Any component that is not in the core module MUST NOT use the core
> package. That would make it impossible to package them as Java 9 modules.
>
>
> Ralph
>
>
> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com> wrote:
>
>
> Hi All,
>
>
> Now that the ZeroMQ via JeroMQ support is in its own module log4j-jeromq, I
>
> wonder if the Java package should change from
>
>
> org.apache.logging.log4j.core.appender.mom.jeromq
>
>
> to
>
>
> org.apache.logging.log4j.appender.mom.jeromq
>
>
> ?
>
>
> Same for the recently moved JPA appender.
>
>
> Same for impending move of the Kafka appender.
>
>
> This would break BC for Core for apps that directly reference these
>
> classes. As opposed to referencing the appenders from an XML/JSON/YAML
>
> config file.
>
>
> Gary
>
>
>
>
>

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Remko Popma <re...@gmail.com>.
Gary,

Would you mind changing the epic link of these and future JIRA tickets to https://issues.apache.org/jira/browse/LOG4J2-2226 (Log4j core modularization)? 
That’s a nice way to link them together. 

(Shameless plug) Every java main() method deserves http://picocli.info

> On Jan 29, 2018, at 6:25, Ralph Goers <ra...@dslextreme.com> wrote:
> 
> I should add that each module must have a unique package hierarchy so, in general, the package names should be org.apache.logging.log4j.modulename. In this case it would be org.apache.logging.log4j.jeromq.apppender.  The mom package probably has no value.
> 
> Ralph
> 
>> On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com> wrote:
>> 
>> Any component that is not in the core module MUST NOT use the core package. That would make it impossible to package them as Java 9 modules.
>> 
>> Ralph
>> 
>>> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com> wrote:
>>> 
>>> Hi All,
>>> 
>>> Now that the ZeroMQ via JeroMQ support is in its own module log4j-jeromq, I
>>> wonder if the Java package should change from
>>> 
>>> org.apache.logging.log4j.core.appender.mom.jeromq
>>> 
>>> to
>>> 
>>> org.apache.logging.log4j.appender.mom.jeromq
>>> 
>>> ?
>>> 
>>> Same for the recently moved JPA appender.
>>> 
>>> Same for impending move of the Kafka appender.
>>> 
>>> This would break BC for Core for apps that directly reference these
>>> classes. As opposed to referencing the appenders from an XML/JSON/YAML
>>> config file.
>>> 
>>> Gary
>> 
> 
> 

Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Ralph Goers <ra...@dslextreme.com>.
I should add that each module must have a unique package hierarchy so, in general, the package names should be org.apache.logging.log4j.modulename. In this case it would be org.apache.logging.log4j.jeromq.apppender.  The mom package probably has no value.

Ralph

> On Jan 28, 2018, at 2:23 PM, Ralph Goers <ra...@dslextreme.com> wrote:
> 
> Any component that is not in the core module MUST NOT use the core package. That would make it impossible to package them as Java 9 modules.
> 
> Ralph
> 
>> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com> wrote:
>> 
>> Hi All,
>> 
>> Now that the ZeroMQ via JeroMQ support is in its own module log4j-jeromq, I
>> wonder if the Java package should change from
>> 
>> org.apache.logging.log4j.core.appender.mom.jeromq
>> 
>> to
>> 
>> org.apache.logging.log4j.appender.mom.jeromq
>> 
>> ?
>> 
>> Same for the recently moved JPA appender.
>> 
>> Same for impending move of the Kafka appender.
>> 
>> This would break BC for Core for apps that directly reference these
>> classes. As opposed to referencing the appenders from an XML/JSON/YAML
>> config file.
>> 
>> Gary
> 



Re: [log4j] org.apache.logging.log4j.core.appender.mom.jeromq move?

Posted by Ralph Goers <ra...@dslextreme.com>.
Any component that is not in the core module MUST NOT use the core package. That would make it impossible to package them as Java 9 modules.

Ralph

> On Jan 28, 2018, at 11:31 AM, Gary Gregory <ga...@gmail.com> wrote:
> 
> Hi All,
> 
> Now that the ZeroMQ via JeroMQ support is in its own module log4j-jeromq, I
> wonder if the Java package should change from
> 
> org.apache.logging.log4j.core.appender.mom.jeromq
> 
> to
> 
> org.apache.logging.log4j.appender.mom.jeromq
> 
> ?
> 
> Same for the recently moved JPA appender.
> 
> Same for impending move of the Kafka appender.
> 
> This would break BC for Core for apps that directly reference these
> classes. As opposed to referencing the appenders from an XML/JSON/YAML
> config file.
> 
> Gary