Кажется, в вашей конфигурации и пути к классам много путаницы.Вы ссылаетесь на файл logback.xml, у вас есть зависимость Maven от slf4j-simple, и вы получаете сообщения из Log4j.Logback, slf4j-simple и Log4j - это три совершенно разные системы ведения журналов, с которыми SLF4J может взаимодействовать.
Итак, давайте вернемся на минуту назад.Смысл SLF4J в том, что это «фасад» (это аббревиатура «F») для любой реальной системы ведения журнала, которую вы хотите использовать.Это означает, что если ваш код регистрируется с использованием SLF4J API, вы можете при необходимости изменить свою систему регистрации.Что еще более важно, если библиотеки, которые вы называете журналом, используют API SLF4J, вы можете просто подключить SLF4J к системе ведения журнала, которую использует остальная часть вашего проекта.
Способ настройки SLF4J для использования желаемой реальной системы ведения журналаэто включение привязки для него в вашем classpath.Привязка - это то, что перенаправляет сообщения журнала из API SLF4J в реальную базовую систему ведения журнала.Для большинства привязок также требуется наличие реальной системы ведения журнала на вашем пути к классам (то есть, если вы используете Log4j 1.2, вы должны включить slf4j-log4j12, а также log4j в свой путь к классам).Другие привязки, такие как Logback и slf4j-simple, действуют как в качестве привязки, так и в качестве реальной системы ведения журнала, поскольку они спроектированы для работы с SLF4J с самого начала.Вам нужна ровно одна привязка к вашему classpath, и вам не нужны никакие другие системы ведения журналов, кроме той, которую вы хотите использовать в вашем classpath.Но вам нужно выяснить, какую систему ведения журналов вы на самом деле хотите использовать, поскольку существует множество опций, как и в любом технологическом решении.
Поскольку вы используете Maven для управления зависимостями на вашем пути к классам, вы можетезапустите "mvn dependency: tree ", чтобы увидеть список всех зависимостей и то, что ваши зависимости приносят. Это может помочь вам выяснить, какие привязки и системы ведения журналов вы и ваши библиотеки используете.
Хорошие библиотеки, предназначенные для использования с SLF4J, будут просто включать slf4j-api, так как привязка должна использоваться главным приложением.Если у вас есть библиотека, которая пытается использовать свою собственную систему ведения журналов, вам может потребоваться использовать Maven, чтобы исключить ее.Вы можете перенаправить другие системы ведения журнала, чтобы использовать SLF4J вместо этого с мостом , если необходимо.
После того, как вы разобрали свои зависимости, чтобы к SLF4J была подключена только одна система ведения журнала, и любые зависимостикоторые хотят использовать другую систему ведения журнала, подключены к этой системе, тогда вы должны иметь возможность настроить эту систему ведения журнала, как бы она ни работала (например, logback.xml, если вы используете Logback) для просмотра вашей регистрации.