From 593f89f85af8d181f0727315224f37fe0aa5fdcb Mon Sep 17 00:00:00 2001 From: Ceki Gulcu Date: Wed, 14 Sep 2022 15:39:40 +0200 Subject: [PATCH] fix SLF4J SLF4J-560 Signed-off-by: Ceki Gulcu --- slf4j-api/src/main/java/org/slf4j/Logger.java | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/slf4j-api/src/main/java/org/slf4j/Logger.java b/slf4j-api/src/main/java/org/slf4j/Logger.java index f759f0188..f700f264d 100644 --- a/slf4j-api/src/main/java/org/slf4j/Logger.java +++ b/slf4j-api/src/main/java/org/slf4j/Logger.java @@ -96,30 +96,37 @@ public interface Logger { public String getName(); /** - * Make a new {@link LoggingEventBuilder} instance as appropriate for this logger and the - * desired {@link Level} passed as parameter. If this Logger is disabled for the given Level, then - * a {@link NOPLoggingEventBuilder} is returned. - * - * + *

Make a new {@link LoggingEventBuilder} instance as appropriate for this logger implementation. + * The default implementation returns an instance of {@link DefaultLoggingEventBuilder}.

+ * + *

Note that the {@link LoggingEventBuilder} should be built for all levels, independently of the level. + * In other words, this method is an unconditional constructor for the {@link LoggingEventBuilder} + * appropriate for this logger implementation.

+ * * @param level desired level for the event builder * @return a new {@link LoggingEventBuilder} instance as appropriate for this logger * @since 2.0 */ default public LoggingEventBuilder makeLoggingEventBuilder(Level level) { - if (isEnabledForLevel(level)) { - return new DefaultLoggingEventBuilder(this, level); - } else { - return NOPLoggingEventBuilder.singleton(); - } + return new DefaultLoggingEventBuilder(this, level); } /** - * A convenient alias for {@link #makeLoggingEventBuilder}. - * + * Make a new {@link LoggingEventBuilder} instance as appropriate for this logger and the + * desired {@link Level} passed as parameter. If this Logger is disabled for the given Level, then + * a {@link NOPLoggingEventBuilder} is returned. + * + * + * @param level desired level for the event builder + * @return a new {@link LoggingEventBuilder} instance as appropriate for this logger * @since 2.0 */ default public LoggingEventBuilder atLevel(Level level) { - return makeLoggingEventBuilder(level); + if (isEnabledForLevel(level)) { + return makeLoggingEventBuilder(level); + } else { + return NOPLoggingEventBuilder.singleton(); + } }