1

当我从 6.x 切换到 8.x 码头时,我的所有应用程序都会登录到一个日志文件(我的一个应用程序的日志文件),而不是像以前那样单独登录。

我的应用程序使用 DataNucleus、SpringSecurity、MyFaces、common-logging 和我自己的库。我正在使用 Spring 的 log4jConfigLocation 上下文参数来设置所需 log4j.properties 和 org.springframework.web.util.Log4jConfigListener 的路径

似乎是由新码头中的某些类加载行为变化引起的问题。

我知道有一种使用 MDC 处理程序、回发和 slf4j 设置上下文日志记录的新方法。

但是我不喜欢这种方法,因为它对我来说看起来很复杂,并且日志配置在所有上下文中共享,而不是每个上下文都有一个 log4j.properties。另外,与旧的 log4j 直接方式相比,我担心它可能会有一些开销。

我试图将 log4j-1.2.16.jar 放入每个应用程序的 WEB-INF/lib 中,以使其通过 web 上下文类加载器加载,但是无法以这种方式创建 log4j appender。

是否有任何建议如何继续使用 log4j 在新码头(8.x)中进行每个上下文日志记录?

4

1 回答 1

1

这应该让你继续举例:

http://webtide.intalio.com/2011/08/sifting-logs-in-jetty-with-logback/

[编辑] 我应该注意原则是相同的 re: logback 和 log4j 在这种情况下

于 2012-11-06T13:32:06.937 回答