Logback / slf4j - Проблемы с параллелизмом и кровотечение - PullRequest
0 голосов
/ 23 января 2012

Я хочу записывать вызовы из класса, но несколько потоков работают с использованием этого класса. Я хочу, чтобы все вызовы потоков перехватывались моими FileAppenders и использовались.

В данный момент у меня "кровотечение", когда данные смешиваются в файле. Как заблокировать приложения для определенных экземпляров класса.

Дайте мне знать, если вам нужно больше деталей.

1 Ответ

1 голос
/ 23 января 2012

Вы можете настроить пакеты и определенные классы для вывода определенным дополнениям.Так что подумайте, действительно ли вы хотите выводить конкретный поток или определенный класс.Как правило, мне нужно только позднее.

Например, в log4j это будет

<appender name="someLog" class="org.apache.log4j.FileAppender">
    <param name="File" value="/logs/foo.log"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d %5p %C{1} - %t - %m%n"/>
    </layout>
</appender>

<category name="com.foo.Bar" additivity="false">
    <priority value="warn"/>
    <appender-ref ref="someLog"/>
</category>

Если не поймать где-либо еще, класс com.foo.Bar будет регистрировать только на foo.log файл.

...