[Yanel-commits] rev 48872 - public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet

michi at wyona.com michi at wyona.com
Mon Apr 19 09:43:59 CEST 2010


Author: michi
Date: 2010-04-19 09:43:59 +0200 (Mon, 19 Apr 2010)
New Revision: 48872

Modified:
   public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
access cookie code moved into AccessLog class

Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2010-04-19 07:43:23 UTC (rev 48871)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2010-04-19 07:43:59 UTC (rev 48872)
@@ -98,7 +98,7 @@
 public class YanelServlet extends HttpServlet {
 
     private static Logger log = Logger.getLogger(YanelServlet.class);
-    private static Logger logAccess = Logger.getLogger("Access");
+    private static Logger logAccess = Logger.getLogger(AccessLog.CATEGORY);
     private static Logger log404 = Logger.getLogger("404");
 
     private Map map;
@@ -2356,7 +2356,7 @@
      * Log browser history of each user
      */
     private void doLogAccess(HttpServletRequest request, HttpServletResponse response) {
-        Cookie cookie = getYanelAnalyticsCookie(request, response);
+        Cookie cookie = AccessLog.getYanelAnalyticsCookie(request, response);
         // TBD: What about a cluster, performance/scalability? See for example http://www.oreillynet.com/cs/user/view/cs_msg/17399 (also see Tomcat conf/server.xml <Valve className="AccessLogValve" and className="FastCommonAccessLogValve")
         // See apache-tomcat-5.5.20/logs/localhost_access_log.2009-11-07.txt
         // 127.0.0.1 - - [07/Nov/2009:01:24:09 +0100] "GET /yanel/from-scratch-realm/de/index.html HTTP/1.1" 200 4464
@@ -2391,7 +2391,8 @@
                 // INFO: Log access of anonymous user
                 String requestURL = request.getRequestURL().toString();
                 // TODO: Also log referer as entry point
-                logAccess.info(requestURL + " r:" + realm.getID() + " c:" + cookie.getValue() + " ref:" + request.getHeader("referer") + " ua:" + request.getHeader("User-Agent"));
+                //logAccess.info(requestURL + " r:" + realm.getID() + " c:" + cookie.getValue() + " ref:" + request.getHeader("referer") + " ua:" + request.getHeader("User-Agent"));
+                logAccess.info(AccessLog.getLogMessage(request, response, realm.getID()));
             }
             //log.warn("DEBUG: Referer: " + request.getHeader(HTTP_REFERRER));
         } catch(Exception e) { // Catch all exceptions, because we do not want to throw exceptions because of logging browser history
@@ -2459,27 +2460,4 @@
             Element notVersionableElement = (Element) resourceElement.appendChild(doc.createElement("not-versionable"));
         }
     }
-
-    /**
-     * Set Yanel analytics cookie, which is persistent
-     * @param request Client request
-     */
-    private Cookie getYanelAnalyticsCookie(HttpServletRequest request, HttpServletResponse response) {
-        Cookie[] cookies = request.getCookies();
-        if (cookies != null) {
-            for (int i = 0; i < cookies.length; i++) {
-                if (cookies[i].getName().equals(ANALYTICS_COOKIE_NAME)) { // TODO: This code is not sufficient to make sure that only one cookie is being set, because Tomcat processes the requests in parallel and until the first cookie is registered, some more cookies might already be set!
-                    //log.debug("Has already a Yanel analytics cookie: " + cookies[i].getValue());
-                    return cookies[i];
-                } 
-            }
-        }
-
-        Cookie analyticsCookie = new Cookie(ANALYTICS_COOKIE_NAME, "YA-" + new Date().getTime()); // TODO: getTime() is not unique!
-        analyticsCookie.setMaxAge(31536000); // 1 year
-        //analyticsCookie.setMaxAge(86400); // 1 day
-        analyticsCookie.setPath(request.getContextPath());
-        response.addCookie(analyticsCookie);
-        return analyticsCookie;
-    }
 }



More information about the Yanel-commits mailing list