Ссылка на log4j.xml не работает после зависимости от maven spring-data-rest-webmvc, пакеты сокращены

У меня проблема с моим (java) проектом Spring 3:

Я включил зависимость maven для «spring-data-rest-webmvc» (с версии 1 по 1.0.0-RC3), где стандартный log4j.xml больше не используется. Вместо этого кажется, что используется какой-то другой файл регистрации свойств (который я не могу найти), ни в моем пакете, ни в источнике spring-data-rest-webmvc.

Наряду с проблемой ссылки на журнал, все имена пакетов сокращены, что я считаю странным (по крайней мере, неожиданным).

Я хочу использовать этот пакет Spring для простого создания спокойных веб-сервисов.

Я хочу контролировать свой файл свойств log4j при использовании пакета spring. Кстати, похоже, что используются три системы ведения журнала (log4j, slf4j и commons-logging), это не должно быть проблемой, верно?


person Danielson    schedule 29.01.2013    source источник


Ответы (2)


Трудно сказать без кода, но, скорее всего, ваш проект стал зависеть от logback-classic, когда вы добавили зависимость spring-data-rest-webmvc.

Если вы поместите файл logback.xml со следующим содержимым рядом с файлом log4j.xml, log4j будет снова загружен.

<configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>
            %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
        </pattern>
    </encoder>
</appender>
<logger name="org.springframework.data.rest" level="INFO" />
<root level="INFO">
    <appender-ref ref="stdout" />
</root>
</configuration>
person HJLebbink    schedule 31.01.2013

В качестве альтернативы, чтобы избавиться от этого вывода уровня DEBUG, просто исключите зависимость от журнала. В maven это будет:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-rest-webmvc</artifactId>
    <exclusion>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
    </exclusion>
</dependency>
person Mariusz    schedule 01.03.2013