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.
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();
}