You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Marcono1234 (Jira)" <ji...@apache.org> on 2020/10/18 20:05:00 UTC
[jira] [Updated] (LOG4J2-2947) LogBuilder should not have no-op
default methods
[ https://issues.apache.org/jira/browse/LOG4J2-2947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcono1234 updated LOG4J2-2947:
--------------------------------
Description:
Currently the methods of the interface {{org.apache.logging.log4j.LogBuilder}} are all default methods which are no-op.
In my opinion this is not ideal because these no-op implementations should *only* exist for the {{LogBuilder.NOOP}}, or for any methods which are added in the future which not every logger supports.
With the current situation it is easy to forget implementing one of the {{LogBuilder}} methods.
If you choose to keep this {{LogBuilder}} behaviour, it would be good to at least document this so implementors of the interface are aware of it. Though this would then create confusion for the end-user because the {{LogBuilder}} returned by {{Logger}} is actually not no-op (which also shows that the {{LogBuilder}} methods should not be no-op by default in the first place).
was:
Currently the methods of the interface {{org.apache.logging.log4j.LogBuilder}} are all default methods which are no-op.
In my opinion this is not ideal because these no-op implementations should *only* exist for the {{LogBuilder.NOOP}}, or for any methods in the future which not every logger supports.
With the current situation it is easy to forget implementing one of the {{LogBuilder}} methods.
If you choose to keep this {{LogBuilder}} behaviour, it would be good to document this. Though this would then create confusion for the end-user because the {{LogBuilder}} returned by {{Logger}} is actually not no-op (which also shows that the {{LogBuilder}} methods should probably not be no-op by default in the first place).
> LogBuilder should not have no-op default methods
> ------------------------------------------------
>
> Key: LOG4J2-2947
> URL: https://issues.apache.org/jira/browse/LOG4J2-2947
> Project: Log4j 2
> Issue Type: Wish
> Reporter: Marcono1234
> Priority: Major
>
> Currently the methods of the interface {{org.apache.logging.log4j.LogBuilder}} are all default methods which are no-op.
> In my opinion this is not ideal because these no-op implementations should *only* exist for the {{LogBuilder.NOOP}}, or for any methods which are added in the future which not every logger supports.
> With the current situation it is easy to forget implementing one of the {{LogBuilder}} methods.
> If you choose to keep this {{LogBuilder}} behaviour, it would be good to at least document this so implementors of the interface are aware of it. Though this would then create confusion for the end-user because the {{LogBuilder}} returned by {{Logger}} is actually not no-op (which also shows that the {{LogBuilder}} methods should not be no-op by default in the first place).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)