Hello David,

Try the one I implemented.  I works in Tomcat, but must exist in the
the same classloader as the log4j.jar.  In Tomcat, that means either
in common/lib or shared/lib.  Both can see each other so log4j.jar
could be in common/lib and the jar containing Log4jCRS can be in
either common/lib or shared/lib.  Alternatviely, you can put a copy of
log4j.jar in WEB-INF/lib.  In that case, you need to make sure you
also put the jar containing Log4jCRS in WEB-INF/lib as well.  However,
that doesn't really provide anything you don't already get by using
log4j.jar in WEB-INF/lib anyway since that already provides a private
environment for using Log4j for you app.

Now, the other thing that needs to happen is that the classes using
Log4jCRS *must* be loaded from the WebappClassloader.  So, my
Log4jInit servlet and Log4jApplicationWatch servlet context listener
need to be inside a jar file in WEB-INF/lib.

Here is Log4jCRS:
http://barracuda.enhydra.org/software/cvs/cvsweb.cgi/Projects/EnhydraOrg/toolsTech/Barracuda/src/org/enhydra/barracuda/log4j/

Here are Log4jInit and Log4jApplicationWatch
http://barracuda.enhydra.org/software/cvs/cvsweb.cgi/Projects/EnhydraOrg/toolsTech/Barracuda/src/org/enhydra/barracuda/webapp/log4j/

Also, you can see what the configuration for log4j looks like in the
web.xml and log4j.xml here:
http://barracuda.enhydra.org/software/cvs/cvsweb.cgi/Projects/EnhydraOrg/toolsTech/Barracuda/WEB-INF/


Now, keep in mind that the logger repositories created via Log4jCRS
are keyed on the classloader.  This means that when you do your
configuration for each application, that application must be running
in a separate classloader.  I'm not sure exactly how that would work
in an EJB container...but that is just because I haven't really
written any EJB apps.

Hopefully this helps with figuring out your issue.  If nothing else,
you can certainly use it for your webapps.

Jake



Wednesday, November 20, 2002, 3:21:02 PM, you wrote:

LD> Has anyone tried the CRS in Ceki's containers document for WebLogic?

LD> I've put that CRS class in a WebLogic startup class.

LD> In my EJB.ejbCreate(), I have a statement like:

LD> Logger logger = Logger.getLogger(StateEJB.class);

LD> When ejbCreate() is called, I see the 

LD> public LoggerRepository getLoggerRepository() {
LD>     ClassLoader cl = Thread.currentThread().getContextClassLoader();
LD>     Hierarchy hierarchy = (Hierarchy) ht.get(cl);

LD>     if(hierarchy == null) {
LD>       hierarchy = new Hierarchy(new RootCategory((Level) Level.DEBUG));
LD>       ht.put(cl, hierarchy);
LD>     } 
LD>     return hierarchy;
LD>   }


LD> method getting called but I get a complaint from log4j saying there are no
LD> appenders could be found for that logger and yet I see that logger in my
LD> log4j.xml configuration file.

LD> It's like that logger could not be found in my repository?

LD> any ideas?


LD> **********************************************************************
LD> This message, including any attachments, contains confidential information 
intended for a specific individual and purpose, and is protected by law.  If you are 
not the intended recipient, please
LD> contact sender immediately by reply e-mail and destroy all copies.  You are hereby 
notified that any disclosure, copying, or distribution of this message, or the taking 
of any action based on it,
LD> is strictly prohibited.
LD> TIAA-CREF
LD> **********************************************************************

LD> --
LD> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
LD> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>



-- 
Best regards,
 Jacob                            mailto:[EMAIL PROTECTED]


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

Reply via email to