Improve Logging 17/60017/1
authorSmokowski, Steve (ss835w) <ss835w@us.att.com>
Fri, 10 Aug 2018 13:34:12 +0000 (09:34 -0400)
committerSmokowski, Steve (ss835w) <ss835w@us.att.com>
Fri, 10 Aug 2018 13:34:12 +0000 (09:34 -0400)
Add Stack trace to be logged, currently only a generic error message is
logged

Issue-ID: SO-846
Change-Id: I8479247227cf08de25bece5077003ee83c08472d

Change-Id: I8479247227cf08de25bece5077003ee83c08472d
Signed-off-by: Smokowski, Steve (ss835w) <ss835w@us.att.com>
mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ApiExceptionMapper.java
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java

index e0bcc71..0e581cb 100644 (file)
@@ -63,7 +63,7 @@ public class ApiExceptionMapper implements ExceptionMapper<ApiException> {
             errorText = errorText.substring(0, 1999);
         }
 
-        writeErrorLog(errorText, errorLoggerInfo, alarmLoggerInfo);
+        writeErrorLog(exception, errorText, errorLoggerInfo, alarmLoggerInfo);
 
         return buildServiceErrorResponse(errorText,messageId,variables);
 
@@ -96,8 +96,9 @@ public class ApiExceptionMapper implements ExceptionMapper<ApiException> {
         return requestErrorStr;
     }
 
-    protected void writeErrorLog(String errorText, ErrorLoggerInfo errorLogInfo, AlarmLoggerInfo alarmLogInfo) {
-
+    protected void writeErrorLog(Exception e, String errorText, ErrorLoggerInfo errorLogInfo, AlarmLoggerInfo alarmLogInfo) {
+        if( e!= null)
+            logger.error(e);
         if(errorLogInfo != null)
             logger.error(errorLogInfo.getLoggerMessageType().toString(), errorLogInfo.getErrorSource(), errorLogInfo.getTargetEntity(), errorLogInfo.getTargetServiceName(), errorLogInfo.getErrorCode(), errorText);
         if(alarmLogInfo != null){
index 3a94447..014739d 100644 (file)
@@ -102,7 +102,7 @@ public class OrchestrationRequests {
                        requestDB = requestsDbClient.getInfraActiveRequestbyRequestId(requestId);
 
                } catch (Exception e) {
-
+                   msoLogger.error(e);
                        ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_DB_ACCESS_EXC, MsoLogger.ErrorCode.AvailabilityError).build();
                        AlarmLoggerInfo alarmLoggerInfo = new AlarmLoggerInfo.Builder("MsoDatabaseAccessError", MsoAlarmLogger.CRITICAL, Messages.errors.get(ErrorNumbers.NO_COMMUNICATION_TO_REQUESTS_DB)).build();
 
@@ -156,12 +156,10 @@ public class OrchestrationRequests {
                                throw new ValidationException("At least one filter query param must be specified");
                        }
                }catch(ValidationException ex){
+                   msoLogger.error(ex);
                        ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_REQUEST_VALIDATION_ERROR, MsoLogger.ErrorCode.DataError).build();
-
-
                        ValidateException validateException = new ValidateException.Builder(ex.getMessage(),
                                        HttpStatus.SC_BAD_REQUEST, ErrorNumbers.SVC_GENERAL_SERVICE_ERROR).cause(ex).errorInfo(errorLoggerInfo).build();
-
                        throw validateException;
 
                }
@@ -202,10 +200,8 @@ public class OrchestrationRequests {
                        ObjectMapper mapper = new ObjectMapper();
                        sir = mapper.readValue(requestJSON, ServiceInstancesRequest.class);
                } catch(IOException e){
-
+                   msoLogger.error(e);
             ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_REQUEST_VALIDATION_ERROR, MsoLogger.ErrorCode.SchemaError).build();
-
-
             ValidateException validateException = new ValidateException.Builder("Mapping of request to JSON object failed : " + e.getMessage(),
                     HttpStatus.SC_BAD_REQUEST, ErrorNumbers.SVC_BAD_PARAMETER).cause(e).errorInfo(errorLoggerInfo).build();
 
@@ -215,6 +211,7 @@ public class OrchestrationRequests {
                try{
                        msoRequest.parseOrchestration(sir);
                } catch (Exception e) {
+                   msoLogger.error(e);
                        ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_REQUEST_VALIDATION_ERROR, MsoLogger.ErrorCode.SchemaError).build();
                         ValidateException validateException = new ValidateException.Builder("Error parsing request: " + e.getMessage(), HttpStatus.SC_BAD_REQUEST, ErrorNumbers.SVC_BAD_PARAMETER).cause(e)
                         .errorInfo(errorLoggerInfo).build();
@@ -301,7 +298,7 @@ public class OrchestrationRequests {
                                   requestDetails = mapper.readValue(requestBody, RequestDetails.class);
                           }
                   } catch (IOException e) {
-
+                      msoLogger.error(e);
                           ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_REQUEST_VALIDATION_ERROR, MsoLogger.ErrorCode.SchemaError).build();
                           ValidateException validateException = new ValidateException.Builder("Mapping of request to JSON object failed : ",
                                           HttpStatus.SC_BAD_REQUEST, ErrorNumbers.SVC_BAD_PARAMETER).cause(e).errorInfo(errorLoggerInfo).build();