[
https://issues.apache.org/jira/browse/LOG4J2-39?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ralph Goers resolved LOG4J2-39.
-------------------------------
Resolution: Not A Problem
> Logger in rgoers/log4j2-api is too complicated.
> -----------------------------------------------
>
> Key: LOG4J2-39
> URL: https://issues.apache.org/jira/browse/LOG4J2-39
> Project: Log4j 2
> Issue Type: Improvement
> Components: API
> Reporter: Ralph Goers
>
> Curt added a @doubt to Logger that states "interface so complicated
> indepenent implementation unlikely. Should be refactored." and in
> AbstractLogger "See comments on Logger, interface is so complex that unlikely
> to be independently implemented." LogMF/LogSF separates those concerns out
> of Logger.
> An API is for the convenience of the caller, not the implementor. The API has
> many variations of the same method for that reason. In addition, many of them
> exist simply to make the API perform better as varargs, while convenient,
> perform poorly. In addition, the observation that the interface is "so
> complex that it is unlikely to be independently implemented" is unfounded.
> Creating a new implementation requires extending AbstractLogger and
> implementing the log method and 8 isEnabled methods. That isn't terribly hard
> at all.
> While LogMF and LogSF "simplify" the Logger interface they complicate life
> for users of the API by requiring a wrapper API. In fact, the part that makes
> AbstractLogger "complicated" is that it implements all these public methods
> so that implementations don't have to. The formatting issues that LogMF and
> LogSF try to solve are delegated to the Message objects in my implementation
> - a solution I find much more satisfying.
> In the end, including the methods in the Logger API or in separate static
> wrapper methods is simply a matter of opinion.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]