[logback-user] Compiler selecting wrong Logger method

Stein, Eric steine at locustec.com
Mon Feb 6 13:59:23 CET 2012

I'm seeing a funny error when trying to write to logback. 
        import org.slf4j.Logger;
        import org.slf4j.LoggerFactory;

        final String arg1 = "arg1";
        final String arg2 = "arg2";
        final String arg3 = "arg3";
        LOGGER.debug("Hi {} {}", arg1, arg2);
        LOGGER.debug("Hi {} {} {}", new String[] { arg1, arg2, arg3 });
        LOGGER.debug("Hi {} {} {}", arg1, arg2, arg3);
The last line is giving this error message:

The method debug(Marker, String, Object, Object) in the type Logger is
not applicable for the arguments (String, String, String, String)

I don't see why it isn't using the method whose signature is
debug(String, Object[]), especially given that I'm not using a Marker.
I'm running in Eclipse Indigo, and my classpath looks like this:


Does anybody know why the compiler is using the wrong method?

Eric Stein
Don't gamble with your environmental information. Learn how the world's largest on-demand environmental information management system can help you mitigate your operating risk: www.locustec.com.

More information about the Logback-user mailing list