2016-09-07 3 views
2

В моем проекте я использую библиотеки клиентов. Внутри этих библиотек используйте log4j.Как использовать log4 и logback вместе?

Мне нравится журнал. Можно ли использовать slf4j в моем проекте в этом случае?

Я хочу использовать все функции logback, особенно динамическое обновление конфигурации.

ответ

3

Я предполагаю, что вы имеете в виду, что те библиотеки, которые вы используете, имеют явные вызовы log4j Loggers.

В этом случае использование slf4j + logback в качестве вашей реализации регистрации и включение вызовов log4j довольно просто.

Как сказано в документации slf4j, вам просто нужно заменить все зависимости log4j на один из slf4j с именем log4j-over-slf4j: http://slf4j.org/legacy.html#log4j-over-slf4j.

В случае, если вы используете Maven правильная зависимость является:

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>log4j-over-slf4j</artifactId> 
    <version>1.7.21</version> 
</dependency> 

Любой код, который находится под вашим непосредственным контролем может просто использовать SLF4J + Logback как это всегда будет.

+0

Таким образом, мы используем следующую схему? http://dl1.joxi.net/drive/2016/09/07/0005/3037/338909/09/3b24dbd70c.jpg – gstackoverflow

+0

Точно. Эти зависимости от моста позволяют убедиться, что вызовы на устаревшие API, такие как Log4J, перенаправлены на slf4j. Оттуда вы можете сделать с ними, как вам будет угодно, например. е. используйте используемую вами логическую реализацию: logback. – sheltem

 Смежные вопросы

  • Нет связанных вопросов^_^