WICKET-6098 Add logging to HttpSessionDataStore
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/5d083bad Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/5d083bad Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/5d083bad Branch: refs/heads/lambdas Commit: 5d083bad37a20b614728b297308ef8b1ddeb15c0 Parents: 642fa43 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Sat Feb 20 13:20:31 2016 +0100 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Sat Feb 20 13:22:35 2016 +0100 ---------------------------------------------------------------------- .../pageStore/memory/HttpSessionDataStore.java | 28 +++++++++++++++++--- .../wicket/pageStore/memory/PageTable.java | 1 - .../pageStore/memory/PageTableCleaner.java | 5 ++++ 3 files changed, 29 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/5d083bad/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/HttpSessionDataStore.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/HttpSessionDataStore.java b/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/HttpSessionDataStore.java index 39907d3..236b328 100644 --- a/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/HttpSessionDataStore.java +++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/HttpSessionDataStore.java @@ -36,7 +36,7 @@ import org.slf4j.LoggerFactory; * MyApp#init() * { * - * setPageManagerProvider(new DefaultPageManagerProvider() + * setPageManagerProvider(new DefaultPageManagerProvider(this) * { * protected IDataStore newDataStore() * { @@ -49,7 +49,7 @@ import org.slf4j.LoggerFactory; */ public class HttpSessionDataStore implements IDataStore { - private static final Logger log = LoggerFactory.getLogger(HttpSessionDataStore.class); + private static final Logger LOG = LoggerFactory.getLogger(HttpSessionDataStore.class); /** the session attribute key. auto-prefixed with application.getSessionAttributePrefix() */ private static final String PAGE_TABLE_KEY = "page:store:memory"; @@ -85,6 +85,15 @@ public class HttpSessionDataStore implements IDataStore { pageAsBytes = pageTable.getPage(pageId); } + + if (LOG.isDebugEnabled()) + { + int bytesLength = pageAsBytes != null ? pageAsBytes.length : -1; + LOG.debug("Loaded '{}' bytes for page with id '{}' in session '{}'", + new Object[]{bytesLength, pageId, sessionId}); + } + + return pageAsBytes; } @@ -94,7 +103,12 @@ public class HttpSessionDataStore implements IDataStore PageTable pageTable = getPageTable(false); if (pageTable != null) { - pageTable.removePage(pageId); + byte[] bytes = pageTable.removePage(pageId); + + if (LOG.isDebugEnabled() && bytes != null) + { + LOG.debug("Removed page '{}' in session '{}'", pageId, sessionId); + } } } @@ -105,6 +119,7 @@ public class HttpSessionDataStore implements IDataStore if (pageTable != null) { pageTable.clear(); + LOG.debug("Removed all pages in session '{}'", sessionId); } } @@ -115,11 +130,16 @@ public class HttpSessionDataStore implements IDataStore if (pageTable != null) { pageTable.storePage(pageId, pageAsBytes); + if (LOG.isDebugEnabled()) + { + LOG.debug("Stored '{}' bytes for page '{}' in session '{}'", + new Object[]{pageAsBytes.length, pageId, sessionId}); + } evictionStrategy.evict(pageTable); } else { - log.error("Cannot store the data for page with id '{}' in session with id '{}'", + LOG.error("Cannot store the data for page with id '{}' in session with id '{}'", pageId, sessionId); } } http://git-wip-us.apache.org/repos/asf/wicket/blob/5d083bad/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTable.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTable.java b/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTable.java index 0a0c9ef..dfad4af 100644 --- a/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTable.java +++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTable.java @@ -34,7 +34,6 @@ public class PageTable implements IClusterable { private static final long serialVersionUID = 1L; - /** * Holds the index of last/least recently used page ids. The most recently used page id is in * the tail, the least recently used is in the head. http://git-wip-us.apache.org/repos/asf/wicket/blob/5d083bad/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTableCleaner.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTableCleaner.java b/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTableCleaner.java index 65d9247..2c9a9cb 100644 --- a/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTableCleaner.java +++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTableCleaner.java @@ -16,11 +16,15 @@ */ package org.apache.wicket.pageStore.memory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + /** * Helper class that knows how to remove the nth oldest pages from {@link PageTable} */ public class PageTableCleaner { + private static final Logger LOG = LoggerFactory.getLogger(PageTableCleaner.class); /** * Removes {@code pagesNumber} of pages from the {@link PageTable pageTable} @@ -36,6 +40,7 @@ public class PageTableCleaner { Integer pageIdOfTheOldest = pageTable.getOldest(); pageTable.removePage(pageIdOfTheOldest); + LOG.debug("Evicted page with id '{}' from the HttpSessionDataStore"); } } }
