From e21641da7b0c172d61ccecc952e3f89f9e0ee783 Mon Sep 17 00:00:00 2001
From: dalbodeule <11470513+dalbodeule@users.noreply.github.com>
Date: Wed, 16 Jul 2025 13:01:39 +0900
Subject: [PATCH] [feature] add loki handler.
---
build.gradle.kts | 1 +
.../space/mori/chzzk_bot/chatbot/chzzk/ChzzkHandler.kt | 2 ++
.../mori/chzzk_bot/chatbot/chzzk/MessageHandler.kt | 3 ++-
src/main/resources/logback.xml | 10 ++++++++++
4 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/build.gradle.kts b/build.gradle.kts
index 5e238b5..8eaaeb1 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -29,6 +29,7 @@ repositories {
dependencies {
// https://mvnrepository.com/artifact/ch.qos.logback/logback-classic
implementation("ch.qos.logback:logback-classic:1.5.13")
+ implementation("com.github.loki4j:loki-logback-appender:2.0.0")
// https://mvnrepository.com/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0")
diff --git a/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/ChzzkHandler.kt b/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/ChzzkHandler.kt
index a816786..5ba7f94 100644
--- a/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/ChzzkHandler.kt
+++ b/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/ChzzkHandler.kt
@@ -204,6 +204,7 @@ class UserHandler(
val logger: Logger,
private var user: User,
var streamStartTime: LocalDateTime?,
+ val chatLogger: Logger = LoggerFactory.getLogger("${channel.channelName}-chat"),
) {
lateinit var client: ChzzkClient
lateinit var chatChannelId: String
@@ -370,6 +371,7 @@ class UserHandler(
GlobalScope.launch {
delay(100L)
client.sendChatToLoggedInChannel(msg.limitUtf8Length(100))
+ chatLogger.info("[SEND]${channel.channelName}: ${msg.limitUtf8Length(100)}{${msg.length} / 100}")
}
}
}
diff --git a/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/MessageHandler.kt b/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/MessageHandler.kt
index 5629518..51c18c9 100644
--- a/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/MessageHandler.kt
+++ b/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/MessageHandler.kt
@@ -31,6 +31,7 @@ class MessageHandler(
private val channel = handler.channel
private val logger = handler.logger
+ private val chatLogger = handler.chatLogger
private val listener = handler.listener
private val dispatcher: CoroutinesEventBus by inject(CoroutinesEventBus::class.java)
@@ -372,7 +373,7 @@ class MessageHandler(
internal fun handle(msg: SessionChatMessage, user: User) {
if(msg.senderChannelId == ChzzkHandler.botUid) return
-
+ chatLogger.info("[RECV]${channel.channelName}: ${msg.content}{${msg.content.length} / 100}")
val commandKey = msg.content.split(' ')[0]
commands[commandKey.lowercase()]?.let { it(msg, user) }
}
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
index 25555da..727389e 100644
--- a/src/main/resources/logback.xml
+++ b/src/main/resources/logback.xml
@@ -10,6 +10,13 @@
+
+
+ app = chibot-chzzk-bot
+ host = ${LOKI_ENDPOINT:http://localhost:3100/loki/api/v1/push}
+
+
+
@@ -31,5 +38,8 @@
+
+
+
\ No newline at end of file