Glassfish3.1 上的 Log4j 配置,仅单元测试日志记录

Log4j configuration on Glassfish3.1, only Unit Test logging

以前从未使用过 log4j,所以我可能会问一些愚蠢的问题。 我有一个在 Glassfish 3.1 上运行的多模块 Maven Web 应用程序。 每个模块或多或少是独立的。 好吧,我设置了 log4j 配置(log4j.properties),把它放在 Dist "module" 配置文件夹中。此外,每个模块的每个 pom.xml 都有一个 log4j 依赖项。添加了类路径。另外,在domain.xml中添加了jvm选项,引用了log4j.property:

<jvm-options>-Dlog4j.configuration=file:///${com.sun.aas.instanceRoot}/log4j.properties</jvm-options>     

在 Glassfish 管理面板中,我添加了引用 log4j.properties 文件的配置选项(配置 -> 服务器配置 -> JVM 常规设置 -> JVM 选项)。

-Dlog4j.configuration=file:///${com.sun.aas.instanceRoot}/log4j.properties

我在网上看了很多关于 log4j 的资料,发现了这个东西。 所以,现在我的问题是,当我启动 Maven 构建时,构建会执行单元测试,并且框架工作正常,但它不会从应用程序中记录任何 activity。可能是什么?

是否每个模块都需要自己的 log4j.property(我想不需要,因为它已经记录了从没有 log4j.propertie 的模块的单元测试中调用的方法的条目)。

是否有可能 log4j 必须初始化 before/during 应用程序的启动?

同样,它记录了单元测试和 Maven 构建,但不是在运行时,这是我没有得到的。我错过了什么吗?

解决方案是将 log4j.properties 文件放入持久性 Maven 模块 (src/main/resources)。 现在,它记录活动..