在我们的一个项目中,我们使用 SLF4J + logback 进行日志记录。是否可以将 spring-framework 配置为使用 SLF4J 而不是其默认的 log4j?
1 回答
Spring 默认使用 apache commons logging(不是 log4J),但它只是一个包装器。您需要为其连接提供一个日志记录包。大多数人似乎建议用称为 SLF4J 的不同包装器替换 apache commons,并将其连接到 Log4J 记录器。如果您觉得这是登录 spring 的一种真正方式,那么这里的说明应该适合您:http ://spring.io/blog/2009/12/04/logging-dependencies-in-spring
有一个更简单的方法。我只是在 WEB-INF 类中添加了一个 logging.properties 文件,并配置了一些 spring 记录器和处理程序。一个基本的 logging.properties 文件在这里:https://tomcat.apache.org/tomcat-6.0-doc/logging.html#Using_java.util.logging_(default)
用“spring”替换每次出现的“manager”,在 logging.properties 示例中的任意位置添加这两行: org.springframework.level=FINE org.springframework.handlers=3spring.org.apache.juli.FileHandler
并删除这些:org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[ /manager].handlers = \ 3manager.org.apache.juli.FileHandler
Apache commons 将在您的 JDK 中找到 java.util.logging 包,并且您将在 $CATALINA_BASE/conf 下拥有 spring 框架日志(或者如果您没有在 tomcat 中部署,请替换 .properties 文件中的路径)。