gpt4 book ai didi

configuration - 如何在单个EAR中为不同的 war 配置多个log4j?

转载 作者:行者123 更新时间:2023-12-04 04:01:34 26 4
gpt4 key购买 nike

我的EAR具有以下结构:

APP.ear 
- APP1.war
- WEB-INF/classes/log4j.properties
- APP2.war
- WEB-INF/classes/log4j.properties
- app1-ejb.jar
- app2-ejb.jar
- log4j.jar
- spring.jar
- commons-lang.jar (...and other jar)

我希望每个WAR都有自己的应用程序日志。但是似乎以上配置不起作用。 APP1和APP2的日志转到APP1的日志。无论如何,有没有创建单独的应用程序日志?

最佳答案

事实证明,由于类加载器的缘故,这是不可能的。类加载器的层次结构类似于:

应用程序类加载器-> Ejb类加载器-> war类加载器

要为单独的 war 创建单独的日志,可以将log4j.jar放入war中,并让log4j使用war类加载器。但是由于app1-ejb.jar和app2-ebj.jar都需要使用log4j,因此log4j.jar只能放在顶层。因此,log4j在应用程序类加载器级别。

我可以指定一个log4j配置,以将不同的程序包记录到不同的文件中。但是对于像spring这样的通用库来说,日志是无法分离的。

关于configuration - 如何在单个EAR中为不同的 war 配置多个log4j?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/762918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com