【问题标题】:SLF4J as SpringFramework LoggerSLF4J 作为 SpringFramework 记录器
【发布时间】:2015-06-05 10:42:18
【问题描述】:

在我们的一个项目中,我们使用 SLF4J + logback 进行日志记录。 是否可以将 spring-framework 配置为使用 SLF4J 而不是其默认的 log4j?

【问题讨论】:

  • @shams - 您所指的线程帮助我为我正在开发的应用程序配置 SLF4J。但是,我的问题更多是针对“用于弹簧框架日志”而不是“用于在基于弹簧的应用程序中使用”配置 SLF4J。无论如何,感谢您的帮助!

标签: spring logging log4j slf4j


【解决方案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 中的路径文件)。

【讨论】:

    猜你喜欢
    • 2021-10-27
    • 2012-10-08
    • 2023-04-01
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    相关资源
    最近更新 更多