Merged HEAD (5.2) to 5.2.N (5.2.1)

127536 jkaabimofrad: Merged API-STRIKES-BACK (5.2.0) to HEAD (5.2)
      125552 gjames: RA-652: Stack traces not returned, but in the log, only for 500 or debugging


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@127646 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2016-06-03 14:03:10 +00:00
parent 14ad5c3635
commit 4f5b776112
3 changed files with 32 additions and 23 deletions

View File

@@ -50,13 +50,8 @@ import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.json.simple.JSONObject;
import org.springframework.extensions.webscripts.AbstractWebScript;
import org.springframework.extensions.webscripts.Cache;
import org.springframework.extensions.webscripts.*;
import org.springframework.extensions.webscripts.Description.RequiredCache;
import org.springframework.extensions.webscripts.Format;
import org.springframework.extensions.webscripts.WebScriptRequest;
import org.springframework.extensions.webscripts.WebScriptResponse;
import org.springframework.extensions.webscripts.WrappingWebScriptResponse;
import org.springframework.extensions.webscripts.servlet.WebScriptServletResponse;
/**
@@ -214,19 +209,20 @@ public abstract class ApiWebScript extends AbstractWebScript
*/
public void renderErrorResponse(ErrorResponse errorResponse, final WebScriptResponse res) throws IOException {
String errorKey = errorResponse.getErrorKey();
String logKey = " ";
if (logger.isDebugEnabled())
if (Status.STATUS_INTERNAL_SERVER_ERROR == errorResponse.getStatusCode() || logger.isDebugEnabled())
{
errorKey = GUID.generate();
logger.debug(errorKey+" : ApiWebScript : "+errorResponse.getStackTrace());
logKey = GUID.generate();
logger.error(logKey+" : "+errorResponse.getStackTrace());
}
final ErrorResponse errorToWrite = new ErrorResponse(errorKey,
final ErrorResponse errorToWrite = new ErrorResponse(errorResponse.getErrorKey(),
errorResponse.getStatusCode(),
errorResponse.getBriefSummary(),
DefaultExceptionResolver.ERROR_URL,
errorResponse.getAdditionalState());
logKey,
errorResponse.getAdditionalState(),
DefaultExceptionResolver.ERROR_URL);
setContentInfoOnResponse(res, DEFAULT_JSON_CONTENT);