From 121ed9f087a1c668006c9500a9c750ade5e0cb95 Mon Sep 17 00:00:00 2001 From: TheSaminator Date: Sun, 6 Feb 2022 17:30:40 -0500 Subject: [PATCH] Even more tracing! --- .../starshipfights/data/data_connection.kt | 29 ++++++++++++++++++- .../starshipfights/data/data_routines.kt | 2 +- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/jvmMain/kotlin/starshipfights/data/data_connection.kt b/src/jvmMain/kotlin/starshipfights/data/data_connection.kt index b6cf384..7cc0abc 100644 --- a/src/jvmMain/kotlin/starshipfights/data/data_connection.kt +++ b/src/jvmMain/kotlin/starshipfights/data/data_connection.kt @@ -1,5 +1,11 @@ package starshipfights.data +import com.mongodb.ConnectionString +import com.mongodb.MongoClientSettings +import com.mongodb.event.CommandFailedEvent +import com.mongodb.event.CommandListener +import com.mongodb.event.CommandStartedEvent +import com.mongodb.event.CommandSucceededEvent import de.flapdoodle.embed.mongo.MongodExecutable import de.flapdoodle.embed.mongo.MongodStarter import de.flapdoodle.embed.mongo.config.MongoCmdOptions @@ -20,6 +26,7 @@ import org.litote.kmongo.serialization.registerSerializer import org.slf4j.Logger import org.slf4j.LoggerFactory import starshipfights.game.MomentSerializer +import starshipfights.sfLogger import java.io.File import java.net.ServerSocket import kotlin.system.exitProcess @@ -94,6 +101,26 @@ object ConnectionHolder { registerSerializer(MomentSerializer) databaseName = db - clientDeferred.complete(KMongo.createClient(conn.createUrl()).coroutine) + clientDeferred.complete( + KMongo.createClient( + MongoClientSettings + .builder() + .applyConnectionString(ConnectionString(conn.createUrl())) + .addCommandListener(object : CommandListener { + override fun commandStarted(event: CommandStartedEvent) { + sfLogger.info("Started Mongo command ${event.commandName}") + } + + override fun commandSucceeded(event: CommandSucceededEvent) { + sfLogger.info("Succeeded Mongo command ${event.commandName}") + } + + override fun commandFailed(event: CommandFailedEvent) { + sfLogger.info("Failed Mongo command ${event.commandName}") + } + }) + .build() + ).coroutine + ) } } diff --git a/src/jvmMain/kotlin/starshipfights/data/data_routines.kt b/src/jvmMain/kotlin/starshipfights/data/data_routines.kt index 064c6c6..aef066d 100644 --- a/src/jvmMain/kotlin/starshipfights/data/data_routines.kt +++ b/src/jvmMain/kotlin/starshipfights/data/data_routines.kt @@ -17,7 +17,7 @@ object DataRoutines : CoroutineScope { } fun initializeRoutines(): Job { - // Initialize tables by referring to them + // Initialize tables Admiral.initialize() BattleRecord.initialize() ShipInDrydock.initialize() -- 2.25.1