Thanks a lot Schultz, 
my log4j logging works now, it prints the logs to stdout_20080523.log....
Actually, I followed the instruction on log4j docs..
I created initialization servlet, Log4jInit.class, that initializes log4j
and loaded on startup...
This initialization class looks like this:

public class Log4jInit extends HttpServlet {

  public
  void init() {
    String prefix =  getServletContext().getRealPath("/");
    String file = getInitParameter("log4j-init-file");
    // if the log4j-init-file is not set, then no point in trying
    if(file != null) {
      PropertyConfigurator.configure(prefix+file);
    }
  }

  public
  void doGet(HttpServletRequest req, HttpServletResponse res) {
  }
}
 and adding this entry to web.xml file:

<servlet>
    <servlet-name>log4j-init</servlet-name>
    <servlet-class>com.foo.Log4jInit</servlet-class>

    <init-param>
      <param-name>log4j-init-file</param-name>
      <param-value>WEB-INF/classes/log4j.properties</param-value>
    </init-param>

    <load-on-startup>1</load-on-startup>
  </servlet>

In the class above, the static method configure(java.util.Properties
properties) of PropertyConfigurator class is called to initialize log4j
while you suggest to instantiate this object..
Well, another question I'd like to ask:
What is the difference  between configuring log4j by calling this static
method (configure(java.util.Properties properties)) as written above and
instantiating PropertyConfigurator class and call its doConfigure() method
??



Christopher Schultz-2 wrote:
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Nashrul,
> 
> nashrul wrote:
> | Hi all, I'm a beginner to web application [and log4j isn't working for
> me].
> 
> [snip]
> 
> | I also created log4j.properties file in <web-app>/WEB-INF/classes
> directory.
> | It contains the following [configuration]:
> |
> |     log4j.logger.solmit=ALL, A
> |     log4j.logger.org.apache=OFF, A
> |
> |     log4j.appender.A=org.apache.log4j.ConsoleAppender
> |     log4j.appender.A.layout=org.apache.log4j.PatternLayout
> |     log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
> |
> |
> | I packaged this application into WebTest.war.
> | When I dropped this package into my Tomcat (Tomcat 5.5), and tried to
> access
> | web app using this url :http://localhost:8080/WebTest/start-web-test
> | I got error messages on my stderr_20080522 log:
> |
> |     log4j:WARN No appenders could be found for logger
> | (org.apache.catalina.startup.Embedded).
> |     log4j:WARN Please initialize the log4j system properly.
> 
> This means that log4j was asked to log a message before the logging
> system was initialized. IIRC, log4j is supposed to automatically
> configure itself on first-use by looking for log4j.properties in the
> classpath, but that does not appear to be happening, here.
> 
> I recall having the same problem on several of our projects, and we
> simply added this to our initialization listener:
> 
> ~   new org.apache.log4j.PropertyConfigurator();
> 
> This forces log4j to initialize itself using a properties file, and it
> will search the classpath for it -- so placing your log4j.properties
> file in WEB-INF/classes is appropriate.
> 
> | Oh, I've also dropped log4j-1.2.13.jar and commons-logging-1.0.4.jar on
> | Tomcat/common/lib
> 
> Do not do that. Remove those files from common/lib and anywhere else you
> tried putting them. Just use WEB-INF/lib in your own application for
> log4j.jar and commons-logging (if you actually need commons-logging).
> 
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iEYEARECAAYFAkg1dj8ACgkQ9CaO5/Lv0PDbqgCgouMNS+GuLE/a2qsP/u5/sCV8
> 494AnRMbIfdxLyY8MZoQz8p3r2Yufy7u
> =kSFm
> -----END PGP SIGNATURE-----
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Error-using-log4j-in-Tomcat-5.5-tp17400689p17420689.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to