diff --git a/slf4j-api/src/main/java/org/slf4j/helpers/SubstituteLogger.java b/slf4j-api/src/main/java/org/slf4j/helpers/SubstituteLogger.java index 7be67d78..40f4251c 100644 --- a/slf4j-api/src/main/java/org/slf4j/helpers/SubstituteLogger.java +++ b/slf4j-api/src/main/java/org/slf4j/helpers/SubstituteLogger.java @@ -47,11 +47,11 @@ import org.slf4j.event.SubstituteLoggingEvent; public class SubstituteLogger implements Logger { private final String name; - private volatile Logger _delegate; + private Boolean delegateEventAware; + private Method logMethodCache; private EventRecodingLogger eventRecodingLogger; - - List eventList; + private List eventList; public SubstituteLogger(String name, List eventList) { this.name = name; @@ -346,9 +346,6 @@ public class SubstituteLogger implements Logger { this._delegate = delegate; } - Boolean delegateEventAware; - Method logMethodCache; - public boolean isDelegateEventAware() { if (delegateEventAware != null) return delegateEventAware; diff --git a/slf4j-site/src/site/pages/codes.html b/slf4j-site/src/site/pages/codes.html index 5ac96f62..73ee1f3c 100755 --- a/slf4j-site/src/site/pages/codes.html +++ b/slf4j-site/src/site/pages/codes.html @@ -428,25 +428,29 @@ class B extends A { previously listed item.

- + + + -

SLF4J versions 1.4.0 and - later requires log4j 1.2.12 or later

+

A number (N) of logging calls + during the initialization phase have been intercepted and are now + being replayed. These are suject to the filtering rules of the + underlying logging system. +

-

The trace level was added to log4j in version 1.2.12 released - on August 29, 2005. The trace level was added to the SLF4J API in - version 1.4.0 on May 16th, 2007. Thus, starting with SLF4J 1.4.0, - the log4j binding for SLF4J requires log4j version 1.2.12 or - above. +

since 1.7.15 Logging calls made + during the initilization phase are recorded and replayed + post-inititilization. Note that the replayed logging calls are + subject to filtering by the underlying logging system.

+ +

In principle, replaying only occurs for apllications which are + already multi-threaded at the time the first logging call occurs.

-

However, as reported in issue 59, in some - environments it may be difficult to upgrade the log4j version. To - accommodate such circumstances, SLF4J's - Log4jLoggerAdapter will map the TRACE level as - DEBUG.

- +

See also substitute loggers.

+ +

Substitute loggers were created during the default configuration phase of the @@ -476,23 +480,27 @@ class B extends A { have been dropped.

-

A number (N) of logging calls - during the initialization phase have been intercepted and are now - being replayed. These are suject to the filtering rules of the - underlying logging system. -

+

See also intercepted and replayed logging + calls.

+ + -

since 1.7.15 As of SLF4J version - 1.7.15, logging calls made during the initilization phase are - recorded and replayed post-inititilization.

+

SLF4J versions 1.4.0 and + later requires log4j 1.2.12 or later

-

These replayed logging calls are subject to filtering by the - underlying logging system.

- -

Replaying only occurs for apllications which are already - multi-threaded when the first logging call occurs. +

The trace level was added to log4j in version 1.2.12 released + on August 29, 2005. The trace level was added to the SLF4J API in + version 1.4.0 on May 16th, 2007. Thus, starting with SLF4J 1.4.0, + the log4j binding for SLF4J requires log4j version 1.2.12 or + above.

- + +

However, as reported in issue 59, in some + environments it may be difficult to upgrade the log4j version. To + accommodate such circumstances, SLF4J's + Log4jLoggerAdapter will map the TRACE level as + DEBUG.

diff --git a/slf4j-site/src/site/pages/news.html b/slf4j-site/src/site/pages/news.html index a167be4d..766f94b4 100755 --- a/slf4j-site/src/site/pages/news.html +++ b/slf4j-site/src/site/pages/news.html @@ -27,9 +27,23 @@ announce mailing list.

+
-

24th January, 2016 - Release of SLF4J 1.7.14

+

9th of February, 2016 - Release of SLF4J 1.7.15

+ +

In previous versions of SLF4J, if the application was already + multi-threaded at the time the first SLF4J logger was created, logs + made during the SLF4J initialization phase were lost. New code + added in relation with SLF4J-353 fixes this + problem by storing and replaying logging calls made during + initialization. +

+ +
+ +

24th of January, 2016 - Release of SLF4J 1.7.14

The assignment of the INITIALIZATION_STATE variable in LoggerFactory is now guaranteed to be consistent for