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)