Hi,

I'm a new log4j user. I want to use it in a j2ee web application--however, I want its components, packed in separate jars, to use the same logger(s), if possible. My configuration is shown below:

j2ee web app
=======
   webroot/
       WEB-INF/
           classes/
               log4jInitServlet (uses log4j props file)
               log4j.properties
               com.foo/ (classes in this package use logger)

So far so good. I'm able to initialize a logger, and to log from any of the classes in "classes/".

Now, I want to use this already-initialized logger to log from classes deployed in jar files in WEB-INF/lib/ . Is this possible? Thus far my attempts have been unsuccessful.

For example, I have a separate java project, whose classes reside in package "com.bar", and which have been jar-ed and placed in WEB-INF/lib. One of those classes is something like this:

package com.bar;

import org.apache.log4j.*;

class Bar {
   static Logger logger = Logger.getLogger(Bar.class.getName());

   public void getBar() {
       logMessage( "called getBar", Level.INFO);
   }

   private void logMessage(String msg, Level lvl) {
       if ( logger != null && logger.getAllAppenders().hasMoreElements() )
           logger.log(lvl, msg);
       else
           System.out.println("sysout:" + msg + " : " + lvl.toString());
   }
}

The idea is that Bar provides some functionality to the webapp, and I want calls to it logged. Again, though, I'd like Bar's logging to use the same logger(s) already-initialised by the webapp. My props file is as below:

log4j.rootLogger=ERROR, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout

# Set levels
log4j.logger.com.foo=INFO
log4j.logger.com.bar=DEBUG

However, all log output from bar says "sysout", meaning it isn't using the logger. I suspect this may be classloader related, but am unsure.

Would somebody enlighten me, please?

(I did search the web, and will continue to do so -- but have not yet come across anything germane.)

Regards,

--A

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to