+++ /dev/null
-package pnews.servlet;
-
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Writer;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Locale;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.servlet.http.HttpServletRequest;
-
-public class RequesterLog {
- public static final RequesterLog singleton = new RequesterLog();
- private Writer writer;
- private Logger LOG = Logger.getLogger(RequesterLog.class.getName());
- private SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss Z", Locale.US);
-
- public void writeRequest(HttpServletRequest rq) {
- try {
- synchronized(this) {
- if (writer == null)
- writer = new BufferedWriter(new FileWriter("access.log", true), 1024);
- }
-
- synchronized (writer) {
- writer.write("[" + dateFormat.format(new Date()) + "] ");
- writer.write(rq.getRemoteAddr() + " " + rq.getRequestURI() + " " + rq.getQueryString());
- writer.write(" " + rq.getHeader("User-Agent"));
- writer.write("\n");
- writer.flush();
- }
- } catch (IOException e) {
- LOG.log(Level.SEVERE, "Fails to log requester information", e);
- }
- }
-}