You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2022/09/10 12:08:37 UTC
[sling-org-apache-sling-engine] branch master updated: SLING-11576 : Remove obsolete diagnosis logging
This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-engine.git
The following commit(s) were added to refs/heads/master by this push:
new 2e4427d SLING-11576 : Remove obsolete diagnosis logging
2e4427d is described below
commit 2e4427da3a5b7522d518404cde44df8fb36a4e3d
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Sat Sep 10 14:08:31 2022 +0200
SLING-11576 : Remove obsolete diagnosis logging
---
.../engine/impl/SlingRequestProcessorImpl.java | 71 +++++++++++-----------
1 file changed, 35 insertions(+), 36 deletions(-)
diff --git a/src/main/java/org/apache/sling/engine/impl/SlingRequestProcessorImpl.java b/src/main/java/org/apache/sling/engine/impl/SlingRequestProcessorImpl.java
index 622cc83..2712a8f 100644
--- a/src/main/java/org/apache/sling/engine/impl/SlingRequestProcessorImpl.java
+++ b/src/main/java/org/apache/sling/engine/impl/SlingRequestProcessorImpl.java
@@ -117,41 +117,54 @@ public class SlingRequestProcessorImpl implements SlingRequestProcessor {
public void doProcessRequest(final HttpServletRequest servletRequest,
final HttpServletResponse servletResponse,
final ResourceResolver resourceResolver) throws IOException {
+ final ServletResolver sr = this.servletResolver;
+
+ // check that we have all required services
+ if (resourceResolver == null || sr == null) {
+ // Dependencies are missing
+ // In this case we must not use the Sling error handling infrastructure but
+ // just return a 503 status response handled by the servlet container environment
+
+ final int status = HttpServletResponse.SC_SERVICE_UNAVAILABLE;
+ String errorMessage = "Required service missing (";
+ if ( resourceResolver == null ) {
+ errorMessage = errorMessage.concat("ResourceResolver");
+ if ( sr == null ) {
+ errorMessage = errorMessage.concat(", ");
+ }
+ }
+ if ( sr == null ) {
+ errorMessage = errorMessage.concat("ServletResolver");
+ }
+ log.debug("{}), cannot service requests, sending status {}", errorMessage, status);
+ servletResponse.sendError(status, errorMessage);
+ return;
+ }
// setting the Sling request and response
- final RequestData requestData = new RequestData(this, servletRequest,
- servletResponse);
+ final RequestData requestData = new RequestData(this, servletRequest, servletResponse);
final SlingHttpServletRequest request = requestData.getSlingRequest();
final SlingHttpServletResponse response = requestData.getSlingResponse();
try {
- final ServletResolver sr = this.servletResolver;
-
- // check that we have all required services
- if (resourceResolver == null) {
- throw new UnavailableException("ResourceResolver");
- } else if (sr == null) {
- throw new UnavailableException("ServletResolver");
- }
-
// initialize the request data - resolve resource and servlet
- Resource resource = requestData.initResource(resourceResolver);
+ final Resource resource = requestData.initResource(resourceResolver);
requestData.initServlet(resource, sr);
final FilterHandle[] filters = filterManager.getFilters(FilterChainType.REQUEST);
- FilterChain processor = new RequestSlingFilterChain(this, filters);
+ final FilterChain processor = new RequestSlingFilterChain(this, filters);
- request.getRequestProgressTracker().log(
- "Applying " + FilterChainType.REQUEST + "filters");
+ request.getRequestProgressTracker().log("Applying ".concat(FilterChainType.REQUEST.name()).concat("filters"));
processor.doFilter(request, response);
} catch ( final SlingHttpServletResponseImpl.WriterAlreadyClosedException wace ) {
+ // this is an exception case, log as error
log.error("Writer has already been closed.", wace);
- } catch (ResourceNotFoundException rnfe) {
+ } catch (final ResourceNotFoundException rnfe) {
// send this exception as a 404 status
- log.info("service: Resource {} not found", rnfe.getResource());
+ log.debug("service: Resource {} not found", rnfe.getResource());
handleError(HttpServletResponse.SC_NOT_FOUND, rnfe.getMessage(),
request, response);
@@ -171,38 +184,24 @@ public class SlingRequestProcessorImpl implements SlingRequestProcessor {
while ( t instanceof SlingException && t.getCause() != null ) {
t = t.getCause();
}
- log.error("service: Uncaught SlingException", t);
+ log.error("service: Uncaught SlingException ", t);
handleError(t, request, response);
- } catch (AccessControlException ace) {
+ } catch (final AccessControlException ace) {
// SLING-319 if anything goes wrong, send 403/FORBIDDEN
- log.info(
+ log.debug(
"service: Authenticated user {} does not have enough rights to executed requested action",
request.getRemoteUser());
handleError(HttpServletResponse.SC_FORBIDDEN, null, request,
response);
- } catch (UnavailableException ue) {
-
- // exception is thrown before the SlingHttpServletRequest/Response
- // is properly set up due to missing dependencies. In this case
- // we must not use the Sling error handling infrastructure but
- // just return a 503 status response handled by the servlet
- // container environment
-
- final int status = HttpServletResponse.SC_SERVICE_UNAVAILABLE;
- final String errorMessage = ue.getMessage()
- + " service missing, cannot service requests";
- log.error("{} , sending status {}", errorMessage, status);
- servletResponse.sendError(status, errorMessage);
-
- } catch (IOException ioe) {
+ } catch (final IOException ioe) {
// forward IOException up the call chain to properly handle it
throw ioe;
- } catch (Throwable t) {
+ } catch (final Throwable t) {
// if we have request data and a non-null active servlet name
// we assume, that this is the name of the causing servlet