[jboss-jira] [JBoss JIRA] (AS7-1389) Log API dependencies should be included automatically in deployments

Scott Hasse (JIRA) issues at jboss.org
Fri Jan 10 09:49:33 EST 2014


    [ https://issues.jboss.org/browse/AS7-1389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12935027#comment-12935027 ] 

Scott Hasse commented on AS7-1389:
----------------------------------

You seem to be quick to give up a good discussion with an ad hominem attack just when I felt I was going to learn something.  To clarify my comment with respect to "common sense", it specifically referred to limiting classloader visibility, and I think the basic point still stands.  

That said, my motivations are to have the JBoss EAP be the best container it can be to that end I think we should try and put the best case forward from all perspectives.  I'll be honest that I don't really understand your viewpoint very well.  I'll attempt to represent it as best I can and perhaps you can tell me where I've got it incomplete or wrong.  Based on your comments above my impression of your viewpoint is:

JBoss EAP should continue to by default provide classloader visibility of log4j, slf4j and commons logging implementations to JEE application deployments because:

1) That is the way it is currently done in EAP 6.  Also in EAP 5 and 4 default visibility to log4j and commons logging (and later slf4j) were provided.  As a result there are many applications deployed that already use the container-provided logger implementations.  Those applications would need to define an explicit dependency in order to have their logging work properly if the default were changed.
2) 99% of the time users want to have centralized logging (that is, application-level logging interleaved with container logging), and a container-provided logging implementation is the cleanest way to do that.
3) The majority of users who bundle logging implementations with their applications do so by accident and you want to protect those users from their logging being broken by having their application log events written to the server log even if they bundle a logging implementation and corresponding configuration.
4) Packaging a logging implementation and configuration with your application is not portable behavior.  Using container-provided logging implementations is more portable.
5) JBoss EAP is more than just a JEE container.  It provides many additional facilities to JEE applications above and beyond the spec and log4j, slf4j and commons logging implementations are good examples of that sort of value-added functionality.  
6) The spec does not limit what additional facilities can be provided and it is good for container vendors to go above and beyond the JEE specified APIs and their corresponding implementations to provide visibility to additional third-party APIs and implementations by default, specifically in this case third-party logging implementations.
7) It is relatively simple to disable the default visibility and it will be getting even simpler in the future.
8) This is all subjective preference anyway and the reasons for changing are not convincing enough.

Again, my interest is to understand your position as well as I can so if I'm misrepresenting anything or leaving anything out, please do correct me.

Regards,

Scott
                
> Log API dependencies should be included automatically in deployments
> --------------------------------------------------------------------
>
>                 Key: AS7-1389
>                 URL: https://issues.jboss.org/browse/AS7-1389
>             Project: Application Server 7
>          Issue Type: Bug
>          Components: Logging
>    Affects Versions: 7.0.0.Final
>            Reporter: David Lloyd
>            Assignee: James Perkins
>             Fix For: 7.1.0.Final
>
>
> The following log APIs should be included by deployments by default:
> * {{org.slf4j}}
> * {{org.apache.commons.logging}}
> * {{org.log4j}}
> These dependencies should override the deployment's versions of these libraries unless explicitly excluded by {{jboss-deployment-structure.xml}}.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list