我有应用程序 A.ear,其中包括一个 Web 应用程序 A.war。我在这场战争中包含了 log4jAdmin.jsp,以在运行时动态控制此应用程序中使用的记录器的记录级别。我还在同一服务器实例中的 weblogic 中部署了另一个应用程序 B.ear。这个应用程序也在它自己的 log4j.xml 文件中定义了它的记录器份额。如何使应用程序 B.ear 的记录器在 log4jAdmin.jsp 页面中可见,该页面是 A.ear 的一部分。我正在使用 weblogic 9.2。
我知道根据类加载器的概念,每个应用程序都有自己的类加载器&将 log4j 相关文件(jar 和 xml)移动到公共域文件夹的解决方案可能会起作用,但由于我无法控制的原因,我不能像 A.ear 那样做如果我遵循这条路线,这是来自 Oracle 的专有应用程序(属于他们的一个通信套件产品)会崩溃。B.ear 是我开发的自定义应用程序,其中包含插件,这些插件只不过是由 A.ear 调用的 Enterprise bean。
那么有没有一种方法可以让记录器在所有部署的应用程序中可见,以便只使用一个 log4jAdmin.jsp 我可以更改它们的日志记录级别?我知道我想要实现的目标确实有效,因为我注意到它在 Oracle 为 WL 10.3.3 发布的最新版本的 A.ear 中工作。为 B.ear 定义的记录器在 A.ear 的 log4jAdmin.jsp 页面中可见。所以我想知道需要做什么才能在 WL 9.2 中获得相同的结果。
任何帮助/提示将不胜感激。
谢谢