[slf4j-dev] [Bug 135] A default baseclass implementation of a delayed toString evaluator should be available in slf4j

bugzilla-daemon at pixie.qos.ch bugzilla-daemon at pixie.qos.ch
Tue Jun 9 09:33:33 CEST 2009


http://bugzilla.slf4j.org/show_bug.cgi?id=135


Joern Huxhorn <joern at huxhorn.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |joern at huxhorn.de




--- Comment #4 from Joern Huxhorn <joern at huxhorn.de>  2009-06-09 09:33:32 ---
I might be missing something... but...

In case of Logback, the arguments aren't converted to String right away.

  private final void filterAndLog_0_Or3Plus(final String localFQCN,
      final Marker marker, final Level level, final String msg,
      final Object[] params, final Throwable t) {

    final FilterReply decision = loggerContext
        .getTurboFilterChainDecision_0_3OrMore(marker, this, level, msg,
            params, t);

    if (decision == FilterReply.NEUTRAL) {
      if (effectiveLevelInt > level.levelInt) {
        return;
      }
    } else if (decision == FilterReply.DENY) {
      return;
    }

    buildLoggingEventAndAppend(localFQCN, marker, level, msg, params, t);
  }

This happens in the appender implementation if needed (which is still something
I don't like very much) or during serialization of the LoggingEvent, but not
while creating it in buildLoggingEventAndAppend.

More importantly, this only happens after the turbofilters have been executed.

If this is just about wrapping an object providing a non-default toString()
then I don't see the point of it, either.


-- 
Configure bugmail: http://bugzilla.slf4j.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the slf4j-dev mailing list