log4j appender error w Tomcacie

Jeśli taki błąd się wydarzy oto co trzeba zrobić:

    3 rzeczy:

  1. Servlet Log4jInit.java
  2. Plik log4j.lcf
  3. Adnotacja w web.xml

AD. 1:

  • Servlet ma być umieszczony w folderze /src/main/[folder_z_klasami]
  • Treść Servleta to:

package main.Excercises_web_app;
import org.apache.log4j.PropertyConfigurator;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;
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) {
    }
}



AD. 2:

  • Plik o nazwie " log4j.lcf" trzeba umieścić w folderze: WEB-INF
  • Treść pliku to:
log4j.rootLogger=INFO, R

log4j.appender.R=org.apache.log4j.RollingFileAppender

log4j.appender.R.File=${catalina.base}/logs/tomcat.log

log4j.appender.R.MaxFileSize=10MB

log4j.appender.R.MaxBackupIndex=10

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

AD. 3:

  • I łącząca te pliki adnotacja w web.xml to:
<servlet>    
  <servlet-name>log4jInit</servlet-name>    
  <servlet-class>main.[folder_z_klasami].Log4jInit</servlet-class>
  <init-param>        
    <param-name>log4j-init-file</param-name>        
    <param-value>WEB-INF/log4j.lcf</param-value>    
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>    
  <servlet-name>log4jInit</servlet-name>    
  <url-pattern>/*</url-pattern>
</servlet-mapping>


I po kłopocie ;)


    To tyle ode mnie na dziś, zapraszam Cię do dzielenia się swoimi wrażeniami z tego posta, lub np. swoim dzisiejszym odkryciem  np. w komentarzu :)

Komentarze

Popularne posty z tego bloga

IntelliJ: zmiana rozmiaru czcionki scrollem

ThunderBird: jak zrobić professional stopkę