【问题标题】:How to change SpringMVC logging level?如何更改 SpringMVC 日志记录级别?
【发布时间】:2014-08-21 15:58:56
【问题描述】:

我使用 IntelliJ 创建了一个新项目 (SpringMVC),但我不知道如何更改 SpringMVC 的日志记录级别,所以我只能看到警告/错误。

这就是它的样子——当我运行测试时,控制台上堆满了 INFO 和测试结果。请帮我解决这个问题。

问候。

【问题讨论】:

    标签: spring spring-mvc logging


    【解决方案1】:

    如果您在 log4j.properties 中使用 log4j:

    log4j.logger.org.springframework=WARN
    

    log4j.xml:

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

    【讨论】:

      【解决方案2】:
      您在屏幕截图中提到的

      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

      希望对你有帮助

      【讨论】:

        【解决方案3】:

        如果您使用 logback.xml,您可以修改包日志级别。

             <logger name="here.you.package" level="DEBUG" additivity="false">
            <appender-ref ref="stdout" />
        </logger>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-09-01
          • 2023-04-11
          • 1970-01-01
          • 2016-02-20
          • 1970-01-01
          • 2014-10-28
          • 1970-01-01
          • 2012-11-01
          相关资源
          最近更新 更多