[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