[logback-user] Logging from different threads

Ceki Gulcu ceki at qos.ch
Fri Feb 27 10:10:30 CET 2009


Checking the code, it appears that the abbreviation algorithm can handle names 
with 12 parts. Your class name has 13. It's a bug in the abbreviation algorithm.
Lukas, could you please enter a bug report?

Lukas Zapletal wrote:
> Upgrade to 0.9.15 did not help :-(
> 
> I think logback should not skip records only for reason it cannot shorten a
> name... what do you think?
> 
> LZ
> 
> 
> Lukas Zapletal (gmail) wrote:
>> Hi
>>
>> I HAVE FOUND THE SOLUTION!
>>
>> The class not being logged is in very very long package. Its a :
>>
>> com.pike.puma.wm.isd2dita.core.g.project.server.pkg.isobjecttype.isobject
>>
>> I am using %logger{20} pattern and it seems this very long package cannot
>> even fit in this pattern (with only 20 characters permitted). I have
>> raised this value to 200 and now it works - the package and the log record
>> appears:
>>
>> com.pike.puma.wm.isd2dita.core.g.project.server.pkg.isobjecttype.isobject.ISObjectContentGenerator
>>
>> I would suppose that if the name of the logger is longer and cannot be
>> shortened to the limit something like 
>>
>> i.i.ISObjectContentGenerator 
>>
>> will appear throwing away beginning of the name. Not at all. I have also
>> tried %logger{0} to see only "ISObjectContentGenerator" but this did not
>> work too.
>>
>> Is this a bug? I am using version 0.9.9.
>>
>> LZ
>>
>>
>> Ceki Gulcu wrote:
>>>
>>> Hello Lukas,
>>>
>>> Your configuration file looks good. I see no reason why logging output
>>> should be generated correctly from some worker threads and not
>>> others. Are you sure that the silent thread is active?
>>>
>>> Here are some remarks about your configuration file *unrelated* to the
>>> problem your you are describing. As of logback version 0.9.15, if no
>>> class name is provided, layout property will default to
>>> PatternLayout. This, the next two configuration excerpts are
>>> equivalent:
>>>
>>> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
>>>    <!-- no class attribute specified -->
>>>    <layout>
>>>      <Pattern>%d{HH:mm:ss} [%thread] %-5level %logger{20} -
>>> %msg%n</Pattern>
>>>    </layout>
>>> </appender>
>>>
>>>
>>> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
>>>    <layout class="ch.qos.logback.classic.PatternLayout">
>>>      <Pattern>%d{HH:mm:ss} [%thread] %-5level %logger{20} -
>>> %msg%n</Pattern>
>>>    </layout>
>>> </appender>
>>>
>>> There is another minor observation I would like to make.
>>>
>>> Setting the level of a threshold filter to TRACE makes it (the filter)
>>> a pass through filter. The threshold filter in FileAppender is set to
>>> the level TRACE.  On the other hand, setting such a filter does not
>>> hurt either, except perhaps cluttering the configuration file.
>>>
>>> Lukas Zapletal wrote:
>>>> Hello,
>>>>
>>>> I have application with 4 threads called M, 1, 2 and 3. Its using
>>>> Logback
>>>> over slf4j in normal way:
>>> [snip]
>>>
>>>   > The problem: I cannot see error messages logged by one of "worker"
>>> threads.
>>>> I have no clue why. Its not from freemarker.cache package - its
>>>> different
>>>> package (com.pike.blabla).
>>>>
>>>> --
>>>> Lukas Zapletal
>>>
>>> -- 
>>> Ceki Gülcü
>>> Logback: The reliable, generic, fast and flexible logging framework for
>>> Java.
>>> http://logback.qos.ch
>>> _______________________________________________
>>> Logback-user mailing list
>>> Logback-user at qos.ch
>>> http://qos.ch/mailman/listinfo/logback-user
>>>
>>>
>>
> 
> 
> -----
> --
> Lukas Zapletal
> http://lukas.zapletalovi.com

-- 
Ceki Gülcü
Logback: The reliable, generic, fast and flexible logging framework for Java.
http://logback.qos.ch


More information about the Logback-user mailing list