RequestHandlerStack: Unnecessary Stacktrace in log on PageExpiredException
--------------------------------------------------------------------------
Key: WICKET-4189
URL: https://issues.apache.org/jira/browse/WICKET-4189
Project: Wicket
Issue Type: Improvement
Components: wicket
Affects Versions: 1.5.2
Reporter: Matthias Keller
We use session.replaceSession() when a user logs out which appears to clear all
previous pages (which is good), and when the user tries to go back he gets a
PageExpiredException (which is also good).
Only that this exception is logged in error level from the RequestHandlerStack
is very ugly and triggers our customer's log monitoring tool.
PageExpiredExceptions should never bubble up into the log unless they cannot be
handled correctly.
This is the stacktrace:
ERROR request.RequestHandlerStack - Error detaching RequestHandler
org.apache.wicket.protocol.http.PageExpiredException: Page with id '2' has
expired.
at
org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:169)
at
org.apache.wicket.request.handler.PageProvider.getPageClass(PageProvider.java:227)
at
org.apache.wicket.request.handler.logger.PageLogData.<init>(PageLogData.java:49)
at
org.apache.wicket.request.handler.RenderPageRequestHandler.detach(RenderPageRequestHandler.java:147)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(RequestCycle.java:761)
at
org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStack.java:180)
at
org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:565)
at
org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:508)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:284)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:722)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira