我无法想象我的问题对我的案例如此具体,但到目前为止我没有看到任何类似的问题。
我希望能够在.ear包装之外指定一个log4g.properties文件,以便在不重新包装耳朵的情况下更容易更改日志记录级别。实际上,这样做最迫切的动机是我们小组已经建立的将log4j属性文件放在耳边的惯例,所以绕过那个约束(通过将log4j.properties文件放在APP-INF / classes目录中) ,或耳朵的根等,不适用。
ear包含一个无状态EJB,它委托一系列Spring POJO来完成它的行为。
我已经看到我的组中的其他人在EAR中部署了一个WAR文件,其唯一的责任是使用上下文侦听器从指定的(外部)路径加载log4j属性文件。虽然路径是EAR的“外部”,但它仍然在类路径上。例如,文件夹/ config位于类路径上,WAR使用上下文侦听器从/config/appname/log4j.properties加载log4j.properties。
对我来说,使用一个唯一目的是加载log4.properties文件的WAR是一种破解/过度杀伤。
有更好的方法,对吧?
答案 0 :(得分:2)
只需将log4j.properties添加到weblogic的类路径中,然后删除war and ear中的log4j.properties文件。
您可以在控制台中执行此操作。 转到servername - configuration - Server Start
现在将log4j.properties目录添加到类路径中。 您的应用程序现在将使用您外面的log4j.properties文件。