[NO-TICKET] *send dashboard logs to server: set suitable log level, +additional field
[platform/core/security/suspicious-activity-monitor.git] / server / samserver / src / main / java / com / samsung / samserver / web / rest / service / ui / LogDashboardRestService.java
index 565e33c..999928d 100644 (file)
@@ -12,8 +12,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.slf4j.*;
 import org.springframework.http.*;
-
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * REST service implementation for dashboard log.
@@ -28,7 +28,28 @@ public class LogDashboardRestService {
 
     public ResponseEntity<Void> sendDashboardLogs(@Valid @RequestBody UIDashboardLog uiDashboardLog) {
         final String userLogin = SecurityUtils.getCurrentUserLogin().orElseThrow(() -> new InternalServerErrorException("Current user login not found"));
-        log.info("UI log: login: {} | timestamp: {} | level: {} | message {}", userLogin, uiDashboardLog.getTimestamp(), uiDashboardLog.getLevel(), uiDashboardLog.getMessage());
+        final String template = "UI log: login: {} | timestamp: {} | message {} | additional {}";
+        final String time = uiDashboardLog.getTimestamp();
+        final String level = uiDashboardLog.getLevel();
+        final String message = uiDashboardLog.getMessage();
+        final List<String> additional = uiDashboardLog.getAdditional();
+        switch (level) {
+            case "INFO":
+                log.info(template, userLogin, time, message, additional);
+                break;
+            case "WARN":
+                log.warn(template, userLogin, time, message, additional);
+                break;
+            case "ERROR":
+                log.error(template, userLogin, time, message, additional);
+                break;
+            case "TRACE":
+                log.trace(template, userLogin, time, message, additional);
+                break;
+            default:
+                log.debug(template, userLogin, time, message, additional);
+                break;
+        }
         return ResponseEntity.ok().headers(new HttpHeaders()).build();
     }