[logback-user] Compiler selecting wrong Logger method

Chris Pratt thechrispratt at gmail.com
Thu Feb 9 17:15:32 CET 2012


Well, I'd be happy to throw my solution in as an option.  You, and Ceki,
can find more information at http://code.google.com/p/anodyzed There's
information in the wiki documents and more on the way when I get a chance.
If there's any information you think is missing, please don't hesitate to
let me know and I'll do what I can to remedy the situation.  Thanks.
  (*Chris *)
On Feb 9, 2012 1:00 AM, "Thorbjørn Ravn Andersen" <thunderaxiom at hotmail.com>
wrote:

> Ceki has not yet decided on the proper way to do varargs in slf4j.  Until
> then, no official API.
>
> See http://bugzilla.slf4j.org/show_bug.cgi?id=31 for the full history.
>
> /Thorbjørn
>
> -----Original Message-----
> From: logback-user-bounces at qos.ch [mailto:logback-user-bounces at qos.ch] On
> Behalf Of Stein, Eric
> Sent: 6. februar 2012 14:24
> To: logback users list
> Subject: Re: [logback-user] Compiler selecting wrong Logger method
>
> <sigh/> I'm a nitwit. I got confused because at my last job we used a
> wrapper around slf4j, and the signature of the method was debug(String,
> Object...). Out of curiosity, is there a reason why that format wasn't
> used?
> The compiler should be smart enough to call the more specific debug(String,
> Object, Object) when appropriate. Changing from Object[] to Object...
> should
> also be backwards-compatible...
>
> Thanks, Marco!
>
> Eric
>
> -----Original Message-----
> From: logback-user-bounces at qos.ch [mailto:logback-user-bounces at qos.ch]
> On Behalf Of BRESCIANI, MARCO (MARCO)
> Sent: Monday, February 06, 2012 8:12 AM
> To: logback users list
> Subject: Re: [logback-user] Compiler selecting wrong Logger method
>
> If I'm not wrong, using - Object[] - or the variable list - Object... - is
> a
> bit different and in order to have the correct method, you should write
> this:
>
>        LOGGER.debug("Hi {} {} {}", new Object[] { arg1, arg2, arg3 });
>
>
>
> MARCO BRESCIANI
> ALCATEL-LUCENT
> SENIOR SW CRAFT TERMINAL DEVELOPMENT ENG NETWORKS - IP DIVISION WT PRODUCT
> UNIT via Trento, 30 - 20059 Vimercate (MB) - Italy
> Phone: +39 039 686 6279
> Fax: +39 039 686 5600
> Marco.Bresciani at alcatel-lucent.com
>
> -----Original Message-----
> From: logback-user-bounces at qos.ch [mailto:logback-user-bounces at qos.ch]
> On Behalf Of Stein, Eric
> Sent: Monday, February 06, 2012 1:59 PM
> To: logback-user at qos.ch
> Subject: [logback-user] Compiler selecting wrong Logger method
>
> 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:
>
> logback-classic-1.0.0.jar
> logback-core-1.0.0.jar
> slf4j-api-1.6.4.jar
>
> Does anybody know why the compiler is using the wrong method?
>
> Thanks,
> 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.
>
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://mailman.qos.ch/mailman/listinfo/logback-user
> _________________________________________________
> 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.
>
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://mailman.qos.ch/mailman/listinfo/logback-user
>
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://mailman.qos.ch/mailman/listinfo/logback-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.qos.ch/pipermail/logback-user/attachments/20120209/7797c617/attachment.html>


More information about the Logback-user mailing list