Logback - использование appenders для метода, а не класса - PullRequest
4 голосов
/ 06 июля 2011

У меня есть класс с несколькими методами. Я хотел бы, чтобы каждый метод выводил в другой файл журнала. С таким файлом logback.xml он записывает ВСЕ записи вызовов из класса.

<logger name="com.mincom.ellipse.conversion.BatchConverter" level="INFO">
   <appender-ref ref="FILE" />
</logger>

Как получить вызовы для каждого метода. Я уверен, что это очень просто, но я не вижу ответа в документе.

1 Ответ

4 голосов
/ 06 июля 2011

Не использовал logback, но в log4j и других вы можете настроить регистраторы с любым именем, которое вам нравится. Использование пакета и имени классов - это просто соглашение. Поэтому я бы настроил несколько регистраторов в вашем классе, примерно так:

Logger logA = LogFactory.getLogger("LogA");
Logger logB = LogFactory.getLogger("LogB");

public void methodA() {
    logA.debug(...);
}
public void methodB() {
    logB.debug(...);
}

А потом в настройках входа в систему ...

<logger name="LogA" level="INFO">
   <appender-ref ref="FILE-A" />
</logger>

<logger name="LogB" level="INFO">
   <appender-ref ref="FILE-B" />
</logger>

Должно работать. Наверное, нужно немного подправить: -)

...