Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Wednesday, December 12, 2007

java code for Log Filter

//Log4j from Apache is required

import javax.servlet.*;
import javax.servlet.http.*;

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

public class LogFilter implements Filter {

private FilterConfig config;

private Logger log;

/** Creates new RequestFilter */
public LogFilter() {
}

public void init(FilterConfig filterConfig) throws ServletException {

this.config = filterConfig;
//load the configuration for this application's loggers using the
// servletLog.properties file
PropertyConfigurator.configure(config.getServletContext().getRealPath(
"/")
+ "WEB-INF/classes/servletLog.properties");
log = Logger.getLogger(LogFilter.class);
log.info("Logger instantiated in " + getClass().getName());
}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws java.io.IOException, ServletException {

HttpServletRequest req = null;
String id = config.getInitParameter("log-id");

if (id == null)
id = "unknown";

if (log != null && (request instanceof HttpServletRequest)) {

req = (HttpServletRequest) request;
log.info("Log id:" + id + ": Request received from: "
+ req.getRemoteHost() + " for " + req.getRequestURL());
}

chain.doFilter(request, response);
}// doFilter

public void destroy() {
/*
* called before the Filter instance is removed from service by the web
* container
*/
log = null;
}
}

No comments: