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