[logback-user] additional informations for appenders?

Ceki Gulcu ceki at qos.ch
Fri Sep 23 11:16:27 CEST 2011


On 23.09.2011 10:40, Lars Fischer wrote:
> Hello Ceki,
>
> thank you for your answer!
>
> 2011/9/22 Ceki Gülcü<ceki at qos.ch>:
>> 1) For data which stays relatively stable during the scope of (service)
>> request, MDC is the way to go.
>
> What about data which could change, lets say for every log event?
> (e.g. two alternating docIds)
> Reading the documentation, the MDC is no good choice for such often
> changing data.

If the alternation occurs in the same thread very frequently, then you 
are correct, MDC is not a good choice. However, if alternation frequency 
is say every 10 or 20 logging events, then MDC should be OK.

> Can I put this data into the Object[] of the Logger methods?

Yes, you can do that. For example, if docId data is typed as DocID, you 
can write:

DocId docId1 = new DocId("1");
DocId docId2 = new DocId("2");

logger.info("starting processing", docId1);
logger.info("starting processing", docId2);
// now with two parameters
logger.info("adding a paragraph {}", paragraph, docId1);
logger.info("end of processing", docId1);
logger.info("end of processing", docId2);

Please let me know if you run into trouble with this approach. It should 
work though.

If you wish to output the data using PatternLayout, you will need to 
write a custom converter. Writing a custom converter is documented at 
[1]. Again, in case you encounter any difficulty, just ask for help here.

[1] http://logback.qos.ch/manual/layouts.html#customConversionSpecifier

-- 
Ceki
http://twitter.com/ceki


More information about the Logback-user mailing list