log4j.appender.FILE.File=${catalina.home}/logs/logs.log is used to define where you log file is. Since you want application specific log configuration. You need to define different log4j.appender.FILE.file attributes in order to make sure application logs into its own log file.Then use ApplicationLog4jConfigurationGBean to define where your log4j.properties is.

The problem that both the application goes into one log file, which was created last, might be caused that both your application use the same package name, such as com.ibm. Thus, the log4j instance will use the same key as og4j.logger.com.ibm=DEBUG,FILE.  You can "hide" the parent log4j instance of Geronimo server by using <hidden-classes/> element in your deployment plan. Accordingly, you should add the dependency of log4j as followed to initiate separate log4j instance for your application.



Hope this helps. Anything incorrect, please chime in.

Jeff Chi

On Tue, Jun 1, 2010 at 8:47 PM, Tannu Agarwal <tagarwal@us.ibm.com> wrote:


We are using geronimo Version 2.1.4. We are facing issue when we configure application specific log4j. We have two applications which get deployed on Geronimo. When we start the application separate log files gets created for both the application but all the logs for both the application goes into one log file log (file which gets created last). In other words, all logs are written as per the log4j configuration of the application that was deployed most recently.

Following is the log4j file which we are using in our application:

(See attached file: log4j.properties)

Please help.

Tannu Agarwal