EAR中的log4j配置

时间:2011-10-03 15:06:32

标签: java log4j ear

我有一个由 ejb.jar 档案组成的EAR。

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

以下是我的结构:

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

提前致谢!

2 个答案:

答案 0 :(得分:8)

如果log4j由耳朵中的不同模块使用,则应将其放置在放在耳朵的lib目录中的jar中。但这不是很方便,因为每次更改日志级别时都需要重新组装耳朵并重新部署。

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

答案 1 :(得分:5)

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

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