This will take some more time than I have right now but just to give
some reasoning why {} was changed to {0}, it's because messages with
multiple parameters can have their ordering switched if a translation
is done of the message file (i.e. the first parameter to logger.info
could wind up being the 2nd parameter in the message).

On Sun, May 30, 2010 at 2:04 AM, Jason Dillon <[email protected]> wrote:
> BTW, using the resource-bundle to perform formatting instead of slf4j, will 
> cause some additional overhead.
>
> First, the slf4j {} formatter, is optimized, since it doesn't need to do any 
> fancy pattern parsing or conversion.
>
> Second, you will need to guard *all* logger calls with their ifXxxEnabled() 
> variants to avoid unwanted string concatenation when the level is not 
> enabled.  For example the new version of the code I mentioned before:
>
> <snip>
> logger.info(Messages.getMessage("clientResponseIsErrorCode", statusCode));
> </snip>
>
> This will always perform the formatting of the message, even if I have all 
> wink logging set to WARN and above.
>
> But, if you left what was there before:
>
> <snip>
> logger.info(Messages.getMessage("clientResponseIsErrorCode"), statusCode);
> </snip>
>
> And then changed the resource bundle's messages to use {} instead of {0}, 
> then slf4j could delay the formatting until the time it knows that its going 
> to emit that log event.
>
> --jason
>
>
> On May 29, 2010, at 11:18 PM, Jason Dillon wrote:
>
>> I'm seeing lots of stuff like:
>>
>> <snip>
>> WARN  [main] o.a.w.c.i.r.m.ResourceMetadataCollector - Sub-Resource locator 
>> {0} is annotated with Consumes/Produces. These annotations are ignored for 
>> sub-resource locators
>> WARN  [main] o.a.w.c.i.r.m.ResourceMetadataCollector - Sub-Resource locator 
>> {0} is annotated with Consumes/Produces. These annotations are ignored for 
>> sub-resource locators
>> INFO  [main] o.a.w.c.i.a.ApplicationFileLoader - Loading application from 
>> jar:file:/Users/jason/.m2/repository/org/apache/wink/wink-json-provider/1.1-incubating/wink-json-provider-1.1-incubating.jar!/META-INF/wink-application
>> INFO  [qtp1421876889-13] o.a.w.s.i.r.ResourceRegistry - Could not find any 
>> method in class {0} that supports {1}
>> INFO  [qtp1421876889-13] o.a.w.s.i.RequestProcessor - {0} occurred during 
>> the handlers chain invocation
>> INFO  [main] o.a.w.c.i.ResourceImpl - Client response is an error code: {0}
>> </snip>
>>
>> due to logger calls like:
>>
>> <snip>
>> logger.info(Messages.getMessage("clientResponseIsErrorCode"), statusCode);
>> </snip>
>>
>> From the looks of it (at least for this specific line) its been fixed.  
>> Logging is completely useless with 1.1, I think you guys should roll out a 
>> 1.1.1 with logging fixed.
>>
>> --jason
>
>

Reply via email to