diff --git a/src/main/java/it/inaf/oats/vospace/exception/InternalFaultException.java b/src/main/java/it/inaf/oats/vospace/exception/InternalFaultException.java index 2429c070a061a09f10ea8eb712c1993847dcd1f8..635bf575bdbf5ec2d48c58fec7547346f9eebfa7 100644 --- a/src/main/java/it/inaf/oats/vospace/exception/InternalFaultException.java +++ b/src/main/java/it/inaf/oats/vospace/exception/InternalFaultException.java @@ -1,19 +1,25 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package it.inaf.oats.vospace.exception; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; - @ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR) // Status code 500 -public class InternalFaultException extends VoSpaceException { +public class InternalFaultException extends VoSpaceException { + + private static final Logger LOG = LoggerFactory.getLogger(InternalFaultException.class); public InternalFaultException(String msg) { super("InternalFaultException: " + msg); } - + + public InternalFaultException(Throwable cause) { + super("InternalFaultException: " + getMessage(cause)); + } + + private static String getMessage(Throwable cause) { + LOG.error("Exception caught", cause); + return cause.getMessage() != null ? cause.getMessage() : cause.getClass().getCanonicalName(); + } }