为什么 Spring INFO 记录到标准错误?
我有许多数据库集成测试,它们使用以下注释进行事务回滚:
@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 ...
我在哪里可以关闭此功能?
I have a many DB integration tests that are using the following annotations for transactional rollback:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:ApplicationContext-DAOs.xml"})
@Transactional
The tests pass, but when I run them Spring deems it necessary to log at INFO level to standard error! It logs things like:
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 ...
Where do I turn this off?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 log4j 隐藏它。在 log4j.xml 中,为 spring 设置一个记录器以发出警告(或错误)。
You can hide it using log4j. In your log4j.xml, set a logger for spring to warn (or error).
Spring 核心使用 apache commons 日志记录。为了配置远离默认行为(写入 stderr),我必须为我的特定框架使用桥接组件。
我正在使用 Log4j2,所以一旦我添加了从 apache commons 到 log4j2 的桥,那么 spring core 就会尊重我的设置。
Spring core is using apache commons logging. In order to configure away from default behavior (writing to stderr) I had to use the bridge component for my particular framework.
I'm using Log4j2, so once I added the bridge from apache commons to log4j2, then spring core respected my settings.