2017-06-01 76 views
0

以前从未与log4j一起工作,这就是为什么我会问一些愚蠢的问题。 我有一个运行在Glassfish 3.1上的多模块Maven Web应用程序。 每个模块或多或少是独立的。 那么,我建立了log4j配置(log4j.properties),把它放在Dist“module”config文件夹中。另外,每个模块的每个pom.xml都有一个log4j依赖项。添加了类路径。另外,在domain.xml中添加的JVM选项,它引用了log4j.property:Glassfish3.1上的Log4j配置,只有单元测试日志

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

在GlassFish管理面板,我增加配置选项引用到log4j.properties文件(配置 - > severf-配置 - > JVM常规设置 - > JVM选项)。

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

我发现这东西在互联网上读了很多关于log4j的东西。 所以,现在我的问题是,当我开始Maven构建时,构建执行单元测试,并且框架工作正常,并且它不记录应用程序中的任何活动。会是什么呢?

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

log4j是否有可能在应用程序启动之前/期间进行bi初始化?

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

+0

这是一个EAR部署还是多个WAR文件? –

+0

这是一个EAR部署.. –

回答

0

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