SLF4J / SLF4J-560 [Resolved]
Clarify Logger.makeLoggingEventBuilder() method semantics

==============================

Here's what changed in this issue in the last few minutes.

There are 2 comments.

View or comment on issue using this link
https://jira.qos.ch/browse/SLF4J-560

==============================
 2 comments
------------------------------

Piotr P. Karwasz on 14/Sep/22 6:00 PM
[~ceki],

I don't see any advantage in returning a real builder, since the level of the 
builder can not be modified.

Besides that the {{log4j-slf4j2-impl}} implementation currently implements 
{{makeLoggingEventBuilder}} as a wrapper around the Log4j2 
[Logger.atLevel|https://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Logger.html#atLevel-org.apache.logging.log4j.Level-]
 method. If we remove the level check we'll end up with a wrapper around a NOOP 
{{LogBuilder}} instead of a NOOP {{LoggingEventBuilder}}, which is slightly 
less effective.

------------------------------

Ceki Gülcü on 14/Sep/22 6:03 PM
Indeed, the {{makeLoggingEventBuilder}} is a constructor for the 
{{LoggingEventBuilder}} type appropriate for the implementation. The behavior 
is documented in the 
[javadocs|https://www.slf4j.org/apidocs/org/slf4j/Logger.html#atLevel-org.slf4j.event.Level-].

The log4j implementation in log4j-slf4j2 does not suffer from double checks 
since you override the {{atXYZ}} methods in 
{{org.apache.logging.slf4j.Log4jLogger}}. You could delegate to the default 
implementation in org.slf4j.Logger if you implement {{makeLoggingEventBuilder}} 
by returning an instance of {{Log4jEventBuilder}}. 








==============================
 This message was sent by Atlassian Jira (v8.8.0#808000-sha1:e2c7e59)

_______________________________________________
slf4j-dev mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/slf4j-dev

Reply via email to