Por que o Spring Info está logando para erro padrão?
-
26-09-2019 - |
Pergunta
Eu tenho muitos testes de integração de banco de dados que estão usando as seguintes anotações para reversão transacional:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:ApplicationContext-DAOs.xml"})
@Transactional
Os testes passam, mas quando eu os executo a mola, é necessário fazer login no nível de informação para o erro padrão! Ele registra coisas como:
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 ...
Onde faço isso desligando isso?
Solução
Você pode ocultá -lo usando log4j. No seu log4j.xml, defina um logger para a mola para avisar (ou errar).
<logger name="org.springframework">
<level value="warn"/>
</logger>
Outras dicas
O Spring Core está usando o log do Apache Commons. Para configurar longe do comportamento padrão (escrevendo para Stderr), tive que usar o componente da ponte para minha estrutura específica.
Estou usando o Log4J2, então, uma vez que adicionei a ponte do Apache Commons ao log4j2, o núcleo da mola respeitou minhas configurações.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.11.2</version>
</dependency>