[Yanel-commits] rev 45722 -
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Thu Nov 26 22:23:39 CET 2009
Author: michi
Date: 2009-11-26 22:23:39 +0100 (Thu, 26 Nov 2009)
New Revision: 45722
Modified:
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
access logging is now configurable per Yanel instance
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-11-26 21:13:04 UTC (rev 45721)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2009-11-26 21:23:39 UTC (rev 45722)
@@ -73,7 +73,7 @@
import org.wyona.security.core.api.Usecase;
import org.wyona.security.core.api.User;
-import org.apache.log4j.Category;
+import org.apache.log4j.Logger;
import org.apache.xalan.transformer.TransformerIdentityImpl;
import org.apache.xml.resolver.tools.CatalogResolver;
import org.apache.xml.serializer.Serializer;
@@ -89,7 +89,8 @@
*/
public class YanelServlet extends HttpServlet {
- private static Category log = Category.getInstance(YanelServlet.class);
+ private static Logger log = Logger.getLogger(YanelServlet.class);
+ private static Logger logAccess = Logger.getLogger("Access");
private Map map;
private Yanel yanelInstance;
@@ -162,8 +163,8 @@
yanelUI = new YanelHTMLUI(map, reservedPrefix);
- // TODO: Make this value configurable (also per realm or per individual user!)
- logBrowserHistory = false;
+ // TODO: Make this value configurable also per realm or per individual user!
+ logBrowserHistory = new Boolean(config.getInitParameter("log-access")).booleanValue();
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new ServletException(e.getMessage(), e);
@@ -2274,11 +2275,11 @@
User user = realm.getIdentityManager().getUserManager().getUser(identity.getUsername());
// The log should be attached to the user, because realms can share a UserManager, but the UserManager API has no mean to save such data, so how should we do this?
// What if realm ID is changing?
- String logPath = "yanel-logs/browser-history/" + user.getID() + ".txt";
+ String logPath = "/yanel-logs/browser-history/" + user.getID() + ".txt";
if (!realm.getRepository().existsNode(logPath)) {
org.wyona.yarep.util.YarepUtil.addNodes(realm.getRepository(), logPath, org.wyona.yarep.core.NodeType.RESOURCE);
}
- org.wyona.yarep.core.Node node = realm.getRepository().getNode("/yanel-logs/browser-history/" + user.getID() + ".txt");
+ org.wyona.yarep.core.Node node = realm.getRepository().getNode(logPath);
// Stream into node (append log entry, see for example log4j)
// 127.0.0.1 - - [07/Nov/2009:01:24:09 +0100] "GET /yanel/from-scratch-realm/de/index.html HTTP/1.1" 200 4464
/*
@@ -2291,6 +2292,7 @@
*/
} else {
log.warn("DEBUG: Log browser history of anonynmous user");
+ logAccess.info(request.getRequestURL());
}
//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