SLF4J - это стандартизированный интерфейс для ведения журнала.Вы используете его API для ведения журнала, и у вас есть привязка на вашем пути к классу для фактической структуры ведения журнала, которую вы хотите использовать.
Если ваш LoggerFactory.getILoggerFactory()
является SimpleLoggerFactory
, то выВы используете привязку SimpleLogger .Вы говорите, что решили использовать Logback, но вместо этого вы используете SLF4J SimpleLogger.
Чтобы использовать Logback, вы должны убедиться, что он находится на вашем пути к классам, и что никакой другой SLF4Jпривязка на вашем пути к классам.Поскольку вы используете Maven для управления своими зависимостями, вы можете запустить mvn dependency: tree , чтобы увидеть список всех зависимостей и то, что вводят ваши зависимости. Это может помочь вам разобратьсякакие другие привязки вы используете.
Библиотеки с хорошим поведением, предназначенные для использования с SLF4J, будут просто включать slf4j-api, поскольку привязка должна использоваться главным приложением.Если у вас библиотека с плохим поведением, которая пытается использовать собственную привязку, вам может потребоваться использовать Maven для исключения этой привязки.
Кроме того, часто полезно использовать <dependencyManagement>
разделов в вашем POM, чтобы гарантировать, что все ваши зависимости используют одну и ту же версию slf4j-api и не пытаются включать все свои отдельные версии, а также использовать maven-forcecer-plugin bannedDependencies правил, которые гарантируют, что вы не облажаетесь при внесении изменений в будущем и случайно включаете в свой проект другую структуру ведения журналов.