У меня есть знаток и пружинное приложение, что я хочу войти в систему. Я стремлюсь использовать SLF4J.
Я хочу поместить все свои файлы конфигурации в каталог {путь к классу} / конфигурация включая log4j.xml и затем init использование пружинного боба.
например.
classpath:config/log4j.xml
Однако я получаю это предупреждение и никакой вход.
log4j:WARN Никакой appenders мог быть найден для регистратора (org.springframework.context.support. ClassPathXmlApplicationContext). log4j:WARN инициализируйте log4j систему правильно. log4j:WARN Видят http://logging.apache.org/log4j/1.2/faq.html#noconfig для большего количества информации.
Я погуглил вокруг и не могу найти простой пример при установке этого. Какие-либо идеи?
В дополнение к ответу Джатина:
Spring использует ведение журнала Jakarta Commons в качестве API ведения журнала. Чтобы войти в slf4j, вам необходимо убедиться, что commons-logging
не находится в пути к классам. jcl-over-slf4j
- это jar-файл на замену для общего журналирования.
Если вы используете maven, вы можете определить, откуда берется общий журнал, используя mvn dependency: tree
, и исключить его из всех зависимостей, которые требуют этого, используя исключения зависимостей. Возможно, вам придется запустить mvn dependency: tree
несколько раз, потому что он показывает только первое появление транзитивной зависимости.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework.version}</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
Вы найдете пример на https://github.com/mbogoevici/spring-samples/tree/master/mvc-basic/trunk . Вам необходимо включить некоторые зависимости в свой файл POM, чтобы включить ведение журнала.
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${org.slf4j.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
<scope>runtime</scope>
</dependency>