refactor: DRY for logging-category from io.projectreactor
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / api / ChatBackendController.java
index 1a8711a..6c7cff7 100644 (file)
@@ -1,9 +1,9 @@
 package de.juplo.kafka.chat.backend.api;
 
+import de.juplo.kafka.chat.backend.ChatBackendProperties;
 import de.juplo.kafka.chat.backend.domain.ChatHomeService;
 import de.juplo.kafka.chat.backend.domain.ChatRoomData;
 import de.juplo.kafka.chat.backend.implementation.StorageStrategy;
-import lombok.RequiredArgsConstructor;
 import org.springframework.http.codec.ServerSentEvent;
 import org.springframework.web.bind.annotation.*;
 import reactor.core.publisher.Flux;
@@ -14,11 +14,25 @@ import java.util.logging.Level;
 
 
 @RestController
-@RequiredArgsConstructor
 public class ChatBackendController
 {
   private final ChatHomeService chatHomeService;
   private final StorageStrategy storageStrategy;
+  private final String loggingCategory = ChatBackendController.class.getSimpleName();
+  private final Level loggingLevel;
+  private final boolean showOperatorLine;
+
+
+  public ChatBackendController(
+      ChatHomeService chatHomeService,
+      StorageStrategy storageStrategy,
+      ChatBackendProperties properties)
+  {
+    this.chatHomeService = chatHomeService;
+    this.storageStrategy = storageStrategy;
+    this.loggingLevel = properties.getProjectreactor().getLoggingLevel();
+    this.showOperatorLine = properties.getProjectreactor().isShowOperatorLine();
+  }
 
 
   @PostMapping("create")
@@ -120,9 +134,9 @@ public class ChatBackendController
     return chatRoomData
         .listen()
         .log(
-            ChatBackendController.class.getSimpleName(),
-            Level.FINE,
-            true)
+            loggingCategory,
+            loggingLevel,
+            showOperatorLine)
         .map(message -> MessageTo.from(message))
         .map(messageTo ->
             ServerSentEvent