【发布时间】:2014-08-21 15:58:56
【问题描述】:
我使用 IntelliJ 创建了一个新项目 (SpringMVC),但我不知道如何更改 SpringMVC 的日志记录级别,所以我只能看到警告/错误。
这就是它的样子——当我运行测试时,控制台上堆满了 INFO 和测试结果。请帮我解决这个问题。
问候。
【问题讨论】:
标签: spring spring-mvc logging
我使用 IntelliJ 创建了一个新项目 (SpringMVC),但我不知道如何更改 SpringMVC 的日志记录级别,所以我只能看到警告/错误。
这就是它的样子——当我运行测试时,控制台上堆满了 INFO 和测试结果。请帮我解决这个问题。
问候。
【问题讨论】:
标签: spring spring-mvc logging
如果您在 log4j.properties 中使用 log4j:
log4j.logger.org.springframework=WARN
或log4j.xml:
<logger name="org.springframework">
<level value="warn" />
</logger>
【讨论】:
XmlBeanDefinitionReader 不是 spring MVC 的一部分,它位于 spring-beans 模块中。 所以我猜你的问题本质上是如何管理spring日志。
嗯,从日志配置的角度来看,spring 文件的行为就像任何其他文件一样。
spring 内部使用 commons-logging:在这个文件中查看方法 loadBeanDefinitions(我使用的是 spring 3.2.0)它负责打印你在这个 sn-p 中显示的第一条语句.
它在内部使用在其超类 AbstractBeanDefinitionReader 中定义的记录器 这是一个公共日志记录类。这意味着您可以使用任何实际实现并根据需要配置日志记录。 例如,您可以使用 log4j 或 java.util.logging,因为公共日志实际上并没有为日志工具提供具体的实现。
现在您可能已经在使用一些日志记录实现了。如果它是 log4j,你只需要配置 commons 日志记录以在后台使用 log4j 实现,然后像通常在 log4j 中那样配置记录器/附加器。
例如,对于基于属性文件的配置,使用:
log4j.category.org.springframework=WARN, yourAppenderToHandleSpringLogs
这应该可以,但是要将 commons-logging 与 log4j 关联起来,如果我没记错的话,您可能想要使用 commons-logging.properties 文件并关联 log4j:org. apache.commons.logging.Log=org.apache.commons.logging.impl.Log4jLogger
更多实际配置信息可以查看:here
希望对你有帮助
【讨论】:
如果您使用 logback.xml,您可以修改包日志级别。
<logger name="here.you.package" level="DEBUG" additivity="false">
<appender-ref ref="stdout" />
</logger>
【讨论】: