Author: mgrigorov
Date: Wed Aug 31 12:14:42 2011
New Revision: 1163599
URL: http://svn.apache.org/viewvc?rev=1163599&view=rev
Log:
WICKET-4004 PageExpiredException still thrown after handled by
IRequestCycleListener
try/catch the log generation, log a warning if there a problem and return
"UNKNOWN" as result.
Example: event={handler=ListenerInterfaceRequestHandler,pageClass=UNKNOWN}
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestLoggerRequestCycleListener.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java?rev=1163599&r1=1163598&r2=1163599&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
Wed Aug 31 12:14:42 2011
@@ -135,43 +135,52 @@ public class RequestLogger extends Abstr
AppendingStringBuffer sb = new AppendingStringBuffer(128);
if (handler != null)
{
- sb.append("handler=");
- sb.append(handler.getClass().isAnonymousClass() ?
handler.getClass().getName()
- : handler.getClass().getSimpleName());
- sb.append(",");
- if (handler instanceof AjaxRequestTarget)
+ try
{
- getAjaxString(sb, (AjaxRequestTarget)handler);
- }
- else if (handler instanceof
BookmarkablePageRequestHandler)
- {
- getBookmarkableString(sb,
(BookmarkablePageRequestHandler)handler);
- }
- else if (handler instanceof
BufferedResponseRequestHandler)
- {
- // nothing extra to log... BufferedResponse
doesn't have identifiable information
-// about
- // which request was buffered
- }
- else if (handler instanceof IRequestHandlerDelegate)
- {
- getDelegateString(sb,
(IRequestHandlerDelegate)handler);
- }
- else if (handler instanceof
ListenerInterfaceRequestHandler)
- {
- getListenerString(sb,
(ListenerInterfaceRequestHandler)handler);
- }
- else if (handler instanceof RenderPageRequestHandler)
- {
- getRendererString(sb,
(RenderPageRequestHandler)handler);
- }
- else if (handler instanceof
ResourceReferenceRequestHandler)
- {
- getResourceString(sb,
(ResourceReferenceRequestHandler)handler);
- }
- else if (handler instanceof
ResourceStreamRequestHandler)
- {
- getResourceString(sb,
(ResourceStreamRequestHandler)handler);
+ sb.append("handler=");
+ sb.append(handler.getClass().isAnonymousClass()
? handler.getClass().getName()
+ : handler.getClass().getSimpleName());
+ sb.append(",");
+ if (handler instanceof AjaxRequestTarget)
+ {
+ getAjaxString(sb,
(AjaxRequestTarget)handler);
+ }
+ else if (handler instanceof
BookmarkablePageRequestHandler)
+ {
+ getBookmarkableString(sb,
(BookmarkablePageRequestHandler)handler);
+ }
+ else if (handler instanceof
BufferedResponseRequestHandler)
+ {
+ // nothing extra to log...
BufferedResponse doesn't have identifiable
+ // information about which request was
buffered
+ }
+ else if (handler instanceof
IRequestHandlerDelegate)
+ {
+ getDelegateString(sb,
(IRequestHandlerDelegate)handler);
+ }
+ else if (handler instanceof
ListenerInterfaceRequestHandler)
+ {
+ getListenerString(sb,
(ListenerInterfaceRequestHandler)handler);
+ }
+ else if (handler instanceof
RenderPageRequestHandler)
+ {
+ getRendererString(sb,
(RenderPageRequestHandler)handler);
+ }
+ else if (handler instanceof
ResourceReferenceRequestHandler)
+ {
+ getResourceString(sb,
(ResourceReferenceRequestHandler)handler);
+ }
+ else if (handler instanceof
ResourceStreamRequestHandler)
+ {
+ getResourceString(sb,
(ResourceStreamRequestHandler)handler);
+ }
+ }
+ catch (Exception x)
+ {
+ LOG.warn(
+ "An error occurred during construction
of the log entry for '{}', because of: {}",
+ handler, x.getMessage());
+ sb.append("UNKNOWN");
}
}
else
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestLoggerRequestCycleListener.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestLoggerRequestCycleListener.java?rev=1163599&r1=1163598&r2=1163599&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestLoggerRequestCycleListener.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestLoggerRequestCycleListener.java
Wed Aug 31 12:14:42 2011
@@ -65,6 +65,16 @@ public class RequestLoggerRequestCycleLi
}
@Override
+ public void onExceptionRequestHandlerResolved(RequestCycle cycle,
IRequestHandler handler,
+ Exception exception)
+ {
+ if (!isRequestLoggingEnabled())
+ return;
+
+ registerHandler(handler);
+ }
+
+ @Override
public void onEndRequest(RequestCycle cycle)
{
first.remove();