webForumDet fria alternativet

Vad är det för fel - load-on-startup

Java

1 svar · 304 visningar · startad av Viktor

Medlem sedan aug. 20021 752 inlägg
Frågan#1

Jag kan inte få min servlet att initsieras när servern (Tomcat) startar :(
web.xml

<servlet>
	<servlet-name>vgbb-init</servlet-name>
	<servlet-class>com.vgsoftware.vgbb.servlet.VGBBInit</servlet-class>
	<init-param>
		<param-name>logfile</param-name>
		<param-value>WEB-INF/vgbb-log4j.properties</param-value>
	</init-param>
	<init-param>
		<param-name>log-level</param-name>
		<param-value>debug</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>

Servleten som ska starta

package com.vgsoftware.vgbb.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;

import javax.servlet.http.HttpSession;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.vgsoftware.util.database.DBConnect;
import com.vgsoftware.util.database.ConnectionPool;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.Level;

public class VGBBInit extends HttpServlet
{
  private static Logger logger = Logger.getLogger(VGBBInit.class);

  public void init()
  {
    System.out.println("Kalle");
    String prefix =  getServletContext().getRealPath("/");
    String file = getInitParameter("logfile");
    if(file != null)
    {
      String logLevel=getInitParameter("log-level");
      logger.setLevel(Level.toLevel(logLevel));
      PropertyConfigurator.configure(prefix+file);

      logger.error("error");
      logger.info("info");
      logger.debug("debug");
      logger.fatal("fatal");
      logger.warn("warn");
    }
  }
}

Den skriver aldrig ut "Kalle" till konsolen så den är inte ens inne i init funktionen! Hoppas det finns någon som kan se något fel och hjälpa mig :)

/Viktor

Medlem sedan aug. 20021 752 inlägg
#2

Jag koplade in hjärnan och då gick det lite bättre :i

Tomcat läser inte av den vanliga classpath'en så jag var tvungen att kopiera över jar filen för log4j till "%CATALINA_HOME%\common\lib", då gick allt bra :)

/Viktor

302 ms totalt · 4 externa anrop · v20260731065814-full.20824b9f
176 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)