Вопрос

У меня есть множество тестов интеграции БД, в которых для отката транзакций используются следующие аннотации:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:ApplicationContext-DAOs.xml"})
@Transactional

Тесты проходят, но когда я их запускаю, Spring считает необходимым войти на уровне INFO в стандартную ошибку!Он регистрирует такие вещи, как:

19/11/2010 16:49:11 org.springframework.test.context.TestContextManager
  retrieveTestExecutionListeners
INFO: @TestExecutionListeners is not present for class [class my.SomeDAOTest]:
  using defaults.
etc for many, many lines ...

Где мне это отключить?

Это было полезно?

Решение

Вы можете скрыть это, используя log4j. В вашем log4j.xml установите логин на весну, чтобы предупредить (или ошибку).

<logger name="org.springframework">
    <level value="warn"/>
</logger>

Другие советы

Ядро Spring использует ведение журнала Apache Commons.Чтобы отказаться от поведения по умолчанию (запись в stderr), мне пришлось использовать компонент моста для моей конкретной платформы.

Я использую Log4j2, поэтому, как только я добавил мост из Apache Commons в log4j2, ядро ​​Spring уважало мои настройки.

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-jcl</artifactId>
    <version>2.11.2</version>
</dependency>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top