【发布时间】:2011-03-13 06:49:33
【问题描述】:
我正在使用 JSF 2.0、Spring、Hibernate,我需要实现 Log4J 以进行集中式错误捕获。有人可以帮忙吗?
【问题讨论】:
标签: java hibernate spring log4j jsf-2
我正在使用 JSF 2.0、Spring、Hibernate,我需要实现 Log4J 以进行集中式错误捕获。有人可以帮忙吗?
【问题讨论】:
标签: java hibernate spring log4j jsf-2
如果您想要集中式日志记录,并且由于您使用的是 Spring 和 Hibernate,那么事情会比提供 log4j.properties 稍微复杂一些,因为 Hibernate 使用 SLF4J 作为日志记录外观,而 Spring 使用 Jakarta Commons Logging (JCL) 作为日志外观和they seem to conflict。
我的建议是使用 SLF4J,为此,您需要:
slf4j-api.jar(实际上你应该使用 Hibernate 获得这个)commons-logging.jar
jcl-over-slf4j.jar 将 JCL 调用桥接到 SLF4Jslf4j-log4j12.jar) 提供 SLF4J 绑定,以将 SLF4J 调用桥接到 Log4Jlog4j.jar
【讨论】:
log4j 与 spring、jsf 或 hibernate 完全无关。
log4j.jar 放入WEB-INF/lib
log4j.properties 并放在类路径的根目录中private static final Logger log = Logger.getLogger(CurrentClass.class);
【讨论】: