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

Oliver Heger commented on CONFIGURATION-614:
--------------------------------------------

Wow, logging is obviously a delicate topic.

Yes, logging in Configuration is helpful from the end user's PoV. When a 
complex combined configuration is constructed from multiple configuration 
sources (which may be partly resolved based on system properties or other 
variables), it is certainly useful to have some diagnostic messages from where 
these sources are actually loaded.

Commons Configuration already produces log output, and I do not want to change 
this. The primary goal of this ticket is to remove the reference to a concrete 
logging framework from the public API. I think we all agree that this is 
beneficial. So this is unrelated to JUL or any other framework.

Sebb made a good point. I did not think about simply removing the affected 
methods. Probably I am bit reluctant to removing features because version 2.0 
should ideally be a superset of the functionality of version 1.x.

Well I have something put together that I am going to commit soon which is IMHO 
not too bad. Then you can comment based on existing code.

> Remove dependency to commons logging from API
> ---------------------------------------------
>
>                 Key: CONFIGURATION-614
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-614
>             Project: Commons Configuration
>          Issue Type: Improvement
>    Affects Versions: 1.9
>            Reporter: Oliver Heger
>             Fix For: 2.0
>
>
> Commons Configuration uses Commons Logging as logging framework (which is 
> fine).
> Some methods of the public API reference logger objects; for instance, a 
> specific logger can be set for each configuration instance. This is 
> problematic because the logging framework cannot be changed without breaking 
> binary compatibility. Even if there was a new major release of Commons 
> Logging, we could not switch to this new version.
> As a solution a minimum logging abstraction can be created, e.g. a class 
> {{ConfigurationLogger}}. This class can be exposed in the public API. 
> Internally, it still delegates to Commons Logging.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to