Java spring、hibernate、log4j用于集中错误捕获

Java spring、hibernate、log4j用于集中错误捕获,java,hibernate,spring,log4j,jsf-2,Java,Hibernate,Spring,Log4j,Jsf 2,我使用的是JSF2.0、Spring和Hibernate,我需要实现Log4J以实现集中式错误捕获。有人能帮忙吗?log4j与spring、jsf或hibernate完全无关 将log4j.jar放入WEB-INF/lib 获取一个sampellog4j.properties并放置在类路径的根目录中 使用私有静态最终记录器log=Logger.getLogger(CurrentClass.class) 如果您想要集中式的日志记录,并且由于您使用的是Spring和Hibernate,所以事情比只

我使用的是JSF2.0、Spring和Hibernate,我需要实现Log4J以实现集中式错误捕获。有人能帮忙吗?

log4j与spring、jsf或hibernate完全无关

  • log4j.jar
    放入
    WEB-INF/lib
  • 获取一个sampel
    log4j.properties
    并放置在类路径的根目录中
  • 使用私有静态最终记录器log=Logger.getLogger(CurrentClass.class)

如果您想要集中式的日志记录,并且由于您使用的是Spring和Hibernate,所以事情比只提供
log4j.properties要复杂一些,因为Hibernate使用SLF4J作为日志记录外观,而Spring使用Jakarta Commons logging(JCL)作为日志记录外观和属性

我的建议是使用SLF4J,为此,您需要:

  • 提供
    slf4japi.jar
    (实际上,您应该使用Hibernate获得这个)
  • 删除Spring中的commons logging.jar
  • 提供
    jcl-over-slf4j.jar
    将jcl调用桥接到slf4j
  • 为Log4J(
    SLF4J-log4j12.jar
    )提供SLF4J绑定,以将SLF4J调用桥接到Log4J
  • 提供
    log4j.jar
  • 另见