Fwd: Module naming for logging implementations

2017-10-26 Thread Stephen Colebourne
(previously posted on core-libs-dev, moved by request) I've spent some time discussing module names for logging implementations recently: https://github.com/jodastephen/jpms-module-names/wiki/Logging-APIs https://issues.apache.org/jira/browse/LOG4J2-2056 https://jira.qos.ch/browse/SLF4J-407?jql=te

Re: Module naming for logging implementations

2017-10-26 Thread David Lloyd
On Thu, Oct 26, 2017 at 3:03 PM, Stephen Colebourne wrote: > For most service providers, option 2 is obvious, however for logging > it is generally the case that only one implementation should be > present. If all the jar files that implement a specific logging API > had the same module name (opti

Re: Module naming for logging implementations

2017-10-26 Thread Gregg Wonderly
I’d like to reverse this dependency to be that in the end, I want every module in the app I construct to funnel through and use a single Logging implementation so that I can linearize the logging streams into a single stream of details that help me to understand the health and progress of my ap

Re: Module naming for logging implementations

2017-10-26 Thread Stephen Colebourne
Thanks Alex and David, those are good arguments. So option 2 it is. Stephen On 26 October 2017 at 23:05, David Lloyd wrote: > On Thu, Oct 26, 2017 at 3:03 PM, Stephen Colebourne > wrote: >> For most service providers, option 2 is obvious, however for logging >> it is generally the case that only

Re: Module naming for logging implementations

2017-10-26 Thread Cédric Champeau
There's a good argument for 1, though. log4j typically doesn't separate api and implementation. So a module would "require 'log4j'". It means that if another module like slf4j doesn't "pretend to be" log4j, it's now going to fail. Said differently, Jigsaw kills module replacements and fatjars. 201

Re: Module naming for logging implementations

2017-10-26 Thread Stephen Colebourne
On 26 October 2017 at 23:35, Cédric Champeau wrote: > There's a good argument for 1, though. log4j typically doesn't separate api > and implementation. So a module would "require 'log4j'". It means that if > another module like slf4j doesn't "pretend to be" log4j, it's now going to > fail. Said di

Re: Fwd: Module naming for logging implementations

2017-10-26 Thread Alex Buckley
On 10/26/2017 1:03 PM, Stephen Colebourne wrote: (previously posted on core-libs-dev, moved by request) (Thanks!) Option 1: All modules that implement a particular logging API must have the same module name eg. every module that implements "org.slf4j" (the API) must be named "org.slf4j.impl"