2011-10-03 102 views
6

我有一个EAR,由ejb.jar档案组成。EAR中的log4j配置

我应该在哪里将我的log4j.xml配置文件放在我的EAR中,以便为不同的EJB配置log4j?

这里是我的结构如下:

myEar 
|-- myEjb1.jar 
|-- myEjb2.jar 
|-- myEjb3.jar 
|-- lib 
    | -- myLib1.jar 
    | -- myLib2.jar 

提前感谢!

+0

“为不同的EJB配置它们”是什么意思?你需要对不同的EJB罐子有不同的配置吗? –

回答

8

如果log4j被耳朵中的不同模块使用,它应该被放置在放置在耳朵的lib目录中的jar中。但它不是很方便,因为每次更改日志级别时都必须重新组装耳朵并重新部署它。

另一种方法是将log4j配置文件放在文件夹中,并将该文件夹添加到耳朵的类路径中。大多数应用程序服务器提供此功能(例如WebSphere)。它便携性较差,但更易于管理:可以在不重新部署耳朵的情况下更改配置。

5

让我们理清这一点:无论您的企业应用程序由多少个EJB组成,只有一个 log4j。同样,只有一个配置文件。如果您需要为不同的EJB配置它,您的选择是在EJB代码中使用适当命名的记录器,并在一个log4j.xml中管理它们。

Laurent对于把它放在哪里有一些有趣的建议(+1)。