Как подключить Maven к вашему JavaRush проекту можно прочитать в этой моей статье. Далее предполагается, что вы это умеете. Если мы хотим использовать slf4j, то нам нужна зависимость:

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.30</version>
        </dependency>
После этого делаем:

    public static void main(String[] args) throws IOException {
        Logger logger = LoggerFactory.getLogger(Solution.class);
        logger.info("hello world!");
    }
И получаем ошибку:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Что в целом логично. slf4j - это обёртка, а вокруг чего мы его обернули? Ничего? Ну вот и получили ошибку. Обернуть можно вокруг чего-то одного из списка: log4j, util.logging, NOP, System.err, JCL, logback. Подробнее в оригинальной инструкции. Рассмотрим на примере log4j и System.err: 1) Начнём с простого, с System.err. Для этого к предыдущей зависимости (slf4j-api) добавляем вот эту (slf4j-simple).

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.30</version>
        </dependency>
Версии берём одинаковые, на 10 мая 2021 это 1.7.30. Если будете брать зависимости с https://mvnrepository.com/ не забудьте удалить

<scope>test</scope>
А иначе ваши логи будут работать только в тестах. 2) Теперь попробуем настроить log4j, для этого нам нужно добавить 2 зависимости: сам log4j и прослойку между slf4j и log4j (slf4j-log4j12). Выглядит это так:

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.30</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
Понятное дело, что (slf4j-simple) нам нужно удалить, чтобы slf4j не путался, с каким логгером ему работать. А (slf4j-api) оставить, так как это и есть slf4j. По поводу 2х добавленных зависимостей. log4j мы добавляем старый (от мая 2012, хз почему, можете поэксперементировать с другими). Версия у него 1.2.17. Чтобы slf4j смог с ним работать, нужна соответствующая прослойка - slf4j-log4j12, где последние символы (12) - означают версию log4j. При этом версия slf4j-api и slf4j-log4j12 должна быть 1.7.30 - последняя стабильная на текущий момент. После того, как вы подключили зависимости и обновили Maven проект. Для работы log4j нужно ещё 2 вещи: 1) Настроить конфигурационный файл. Читаем, выбираем, копируем. 2) Вчитать конфигурацию log4j перед работой:

        PropertyConfigurator.configure("d:\\Java\\JavaRushTasks\\4.JavaCollections\\log4j.properties");
ну или где там у вас файлик лежит. Если вы хотите видеть все логи - не забудьте поставить уровень логгирования ALL. Дописываем в резюме - log4j & slf4j. Вы восхитительны! Если помогло - лайк, подписка, колокольчик!)))