Java jetty、log4j和parentloaderPriority的问题

Java jetty、log4j和parentloaderPriority的问题,java,log4j,jetty,Java,Log4j,Jetty,我用的是6号码头 我使用的库要求我将parentloaderPriority设置为true。然而,这弄乱了我的log4j,出于某种原因,我无法再登录到我的日志文件(文件附加器不工作)。我不知道这是否是一个已知和记录的问题?我在谷歌上搜索到的所有内容似乎都暗示,父母优先权更符合事实!相反,如果我将其设置为false,我的log4j文件将再次登录。有什么需要特别检查的吗?WebAppContext.parentLoaderPriority属性仅适用于嵌入式Jetty用户 它所做的只是将类加载器优先级

我用的是6号码头


我使用的库要求我将parentloaderPriority设置为true。然而,这弄乱了我的log4j,出于某种原因,我无法再登录到我的日志文件(文件附加器不工作)。我不知道这是否是一个已知和记录的问题?我在谷歌上搜索到的所有内容似乎都暗示,父母优先权更符合事实!相反,如果我将其设置为false,我的log4j文件将再次登录。有什么需要特别检查的吗?

WebAppContext.parentLoaderPriority属性仅适用于嵌入式Jetty用户

它所做的只是将类加载器优先级从:

Servlet API强制行为

WebAppContext.setParentLoaderPriority(false)
当WebApp尝试解析类或资源时,首先使用WebApp自己的类加载器,然后使用父类加载器(在Jetty的情况下,父类加载器是服务器类加载器)

Java默认行为

WebAppContext.setParentLoaderPriority(true)

解析类或资源时,首先使用父类加载器,然后使用子类加载器。

“WebAppContext.parentLoaderPriority属性仅适用于嵌入式Jetty用户。”我在非嵌入式上下文中使用它,它确实会产生影响,这正常吗?我知道设置的作用,我的问题更多的是关于log4j库的问题,以及我是否可以做些什么,例如,如果是冲突问题,请从war文件中删除日志jar,等等。。有什么想法吗?谢谢你的回答,顺便说一句;-)不要在非嵌入式使用中翻转它。你会破坏东西,尤其是在Jetty 6(你的问题很明显)。在Jetty 9+中,我们能够支持服务器和webapp隔离日志记录,甚至强制webapp使用服务器日志记录。请看-Jetty 6让您遇到的问题更加复杂,因为它太旧了,无法轻松处理(除了自己在Jetty 6中重写WebAppClassloader层之外),哦,我明白了。那我就把所有东西搬到9号码头。谢谢