Fellow Developers:
Here's my situation... I posted an earlier
topic regarding my problem, but since then since the scenario regarding my problem has kind of changed, I decided to make a new
thread (all apologies if this was an inappropriate action).
I changed my
Ant build script to move the log4j.properties file into my WEB-INF/classes dir. Also, my log4j-1.2.9.jar gets moved inside my WEB-INF/lib dir. But for some odd reason, when I run
Tomcat, it doesn't seem to know where my log4j.properties file is! My Log4jInitServlet seems to have the path wrong!
It looks inside:
C:\DevTools\tomcat\jakarta-tomcat-5.5.9\bin\WEB-INF\classes\log4j.properties
instead of:
C:\DevTools\tomcat\jakarta-tomcat-5.5.9\mywebapp\WEB-INF\classes\log4j.properties.
Furthermore, it throws a NullPointerException but at the same time, right afterwards, it logs my XmlConfigInitServlet (I have it set
there!).
Here's what my console says:
My Log4jInitServlet:
My web.xml:
My XmlConfigInitServlet class (as you can see that I am still using getRealPath()) but will change it when I get my Log4jInitServlet properly set up. For some odd reason, its logging what I have put in here into my Tomcat's console. How could this be if Tomcat complained that it couldn't find my log4j.properties file?
Here's the contents of my log4j.properties file located under mywebapp/WEB-INF/classes:
From the looks of everything, obviously there's a pathing issue in my Log4jInitServlet but I still don't understand how it can successfully log my XmlConfigServlet if my log4j.properties is supposed to be unavailable?! Why is it throwing an NullPointerException?
Can anyone suggest a better way to use getResourceAsStream()? What I am trying to do is set my undeployWars to false in server.xml so that Tomcat can read my log4j.properties file and my xml config file (attributes-config.xml) from within the war file.
Sincerely yours and happy holidays,
James Dekker
[ December 22, 2006: Message edited by: James Dekker ]
[ December 22, 2006: Message edited by: Bear Bibeault ]