[Yanel-commits] rev 45782 -
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Tue Dec 1 19:59:32 CET 2009
Author: michi
Date: 2009-12-01 19:59:32 +0100 (Tue, 01 Dec 2009)
New Revision: 45782
Modified:
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
log access refactored
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 2009-12-01 18:45:38 UTC (rev 45781)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2009-12-01 18:59:32 UTC (rev 45782)
@@ -120,7 +120,7 @@
private YanelHTMLUI yanelUI;
- private boolean logBrowserHistory = false;
+ private boolean logAccessEnabled = false;
public static final String DEFAULT_ENCODING = "UTF-8";
@@ -164,7 +164,7 @@
yanelUI = new YanelHTMLUI(map, reservedPrefix);
// TODO: Make this value configurable also per realm or per individual user!
- logBrowserHistory = new Boolean(config.getInitParameter("log-access")).booleanValue();
+ logAccessEnabled = new Boolean(config.getInitParameter("log-access")).booleanValue();
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new ServletException(e.getMessage(), e);
@@ -199,7 +199,7 @@
}
// TODO: Only HTML pages and PDFs etc. should be logged, but no images, CSS, etc.
- if(logBrowserHistory) logBrowserHistoryOfUser(request);
+ if(logAccessEnabled) logAccess(request);
// Check for requests re policies
String policyRequestPara = request.getParameter(YANEL_ACCESS_POLICY_USECASE);
@@ -2077,7 +2077,7 @@
*/
private void do404(HttpServletRequest request, HttpServletResponse response, Document doc, String exceptionMessage) throws ServletException {
// TODO: Log all 404 within a dedicated file (with client info attached) such that an admin can react to it ...
- // Also see logBrowserHistory
+ // Also see logAccess
//org.wyona.yarep.core.Node node = realm.getRepository().getNode("/yanel-logs/404.txt");
String message = "No such node/resource exception: " + exceptionMessage;
@@ -2215,7 +2215,7 @@
/**
* Log browser history of each user
*/
- private void logBrowserHistoryOfUser(HttpServletRequest request) {
+ private void logAccess(HttpServletRequest request) {
// 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
@@ -2245,8 +2245,11 @@
- Log analysis (no special tracking required)
*/
} else {
- log.warn("DEBUG: Log browser history of anonynmous user");
- logAccess.info(request.getRequestURL());
+ // NOTE: Log access of anonymous user
+ String requestURL = request.getRequestURL().toString();
+ if (requestURL.endsWith("html")) { // TODO: Check the mime-type instead the suffix or use JavaScript or Pixel
+ logAccess.info(requestURL);
+ }
}
//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
More information about the Yanel-commits
mailing list