KotlinLogging - option to globally disable logging

This commit is contained in:
2026-09-12 20:29:20 +01:00
parent 7384642a6d
commit ab88896b01
4 changed files with 21 additions and 7 deletions
@@ -1,18 +1,16 @@
package com.shr4pnel.ferretirc.net
import com.shr4pnel.ferretirc.irc.util.Helpers
import com.shr4pnel.ferretirc.net.messages.ServerMessage
import io.github.oshai.kotlinlogging.KotlinLogging
import io.ktor.http.parameters
import io.ktor.network.selector.SelectInterest
import io.ktor.util.toUpperCasePreservingASCIIRules
import io.github.oshai.kotlinlogging.slf4j.logger
import kotlinx.coroutines.channels.Channel
import org.slf4j.helpers.NOPLogger
class MessageParser(val incoming: Channel<String>) {
private val logger = KotlinLogging.logger("MessageParser")
val incomingParsedMessages = Channel<ServerMessage>()
private companion object MessageBuilder {
val logger = KotlinLogging.logger("MessageParser.MessageBuilder")
fun getTrailingParameterIndex(params: List<String>) = params.indexOfLast { it.startsWith(":") }
sealed interface Command {
@@ -58,6 +56,7 @@ class MessageParser(val incoming: Channel<String>) {
}
}
}
private val logger = if (Helpers.enableLogging) KotlinLogging.logger {} else KotlinLogging.logger(NOPLogger.NOP_LOGGER)
class NumericCommand(val number: Int, val parameters: List<String>?) : Command {
override fun toServerMessage(): ServerMessage {
@@ -106,6 +105,7 @@ class MessageParser(val incoming: Channel<String>) {
suspend fun start() {
for (msg in incoming) {
incomingParsedMessages.send(build(msg))
logger.trace { "Receiving: $msg" }
}
}
}