package info.servlet;
import javax.servlet.http.HttpServlet;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public final class Log4jInit extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final Logger logger = Logger.getLogger(Log4jInit.class);
private static String prefix;
public void init() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
logger.error("Error ocurred when load the driver for mysql:", e);
}
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 static String getWebRoot(){
return prefix;
}
}
web.xml
<servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>info.servlet.Log4jInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>/WEB-INF/classes/info_log4j.lcf</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>