Improve logging
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 18 Jun 2023 06:15:55 +0000 (08:15 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 18 Jun 2023 06:15:55 +0000 (08:15 +0200)
org.argeo.cms/src/org/argeo/cms/dav/DavHttpHandler.java

index 63f4f82c7574b5d936fdeb1336bfd7296f758cbf..b5cd289a111f8f3b3907fc60208ad64c9d2f4778 100644 (file)
@@ -10,6 +10,7 @@ import java.util.function.Consumer;
 import javax.xml.namespace.NamespaceContext;
 
 import org.argeo.api.acr.ContentNotFoundException;
+import org.argeo.api.cms.CmsLog;
 import org.argeo.cms.http.HttpHeader;
 import org.argeo.cms.http.HttpMethod;
 import org.argeo.cms.http.HttpStatus;
@@ -24,6 +25,7 @@ import com.sun.net.httpserver.HttpHandler;
  * ACR-specific code more readable and maintainable.
  */
 public abstract class DavHttpHandler implements HttpHandler {
+       private final static CmsLog log = CmsLog.getLog(DavHttpHandler.class);
 
        @Override
        public void handle(HttpExchange exchange) throws IOException {
@@ -60,10 +62,12 @@ public abstract class DavHttpHandler implements HttpHandler {
                        exchange.sendResponseHeaders(HttpStatus.NOT_FOUND.getCode(), -1);
                }
                // TODO return a structured error message
+               // TODO better filter application errors and failed login etc.
                catch (UnsupportedOperationException e) {
                        e.printStackTrace();
                        exchange.sendResponseHeaders(HttpStatus.NOT_IMPLEMENTED.getCode(), -1);
                } catch (Exception e) {
+                       log.error("Failed HTTP exchange " + exchange.getRequestURI(), e);
                        exchange.sendResponseHeaders(HttpStatus.INTERNAL_SERVER_ERROR.getCode(), -1);
                }