From 709c90e4e98f534faf096fe0b88ec4596ac99111 Mon Sep 17 00:00:00 2001 From: franciscodr Date: Tue, 9 Apr 2024 23:06:25 +0200 Subject: [PATCH 1/3] Delete unnecessary logback XML files --- core/src/commonTest/resources/logback-test.xml | 1 - detekt-rules/src/main/resources/logback.xml | 11 ----------- 2 files changed, 12 deletions(-) delete mode 100644 core/src/commonTest/resources/logback-test.xml delete mode 100644 detekt-rules/src/main/resources/logback.xml diff --git a/core/src/commonTest/resources/logback-test.xml b/core/src/commonTest/resources/logback-test.xml deleted file mode 100644 index 8f39588cc..000000000 --- a/core/src/commonTest/resources/logback-test.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/detekt-rules/src/main/resources/logback.xml b/detekt-rules/src/main/resources/logback.xml deleted file mode 100644 index 4c99ee634..000000000 --- a/detekt-rules/src/main/resources/logback.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} MDC=%X{user} - %msg%n - - - - - - - \ No newline at end of file From e02d3c7920e5f075c07a40c38293a18152f05c7c Mon Sep 17 00:00:00 2001 From: franciscodr Date: Tue, 9 Apr 2024 23:07:52 +0200 Subject: [PATCH 2/3] Delete unnecessary logback dependency --- core/build.gradle.kts | 1 - integrations/gcp/README.MD | 1 - integrations/gcp/build.gradle.kts | 1 - integrations/mlflow/build.gradle.kts | 1 - openai-client/client/build.gradle.kts | 1 - reasoning/build.gradle.kts | 1 - 6 files changed, 6 deletions(-) diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 3d83dff47..de1530459 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -90,7 +90,6 @@ kotlin { val jvmMain by getting { dependencies { implementation(libs.ktor.http) - implementation(libs.logback) implementation(libs.rss.reader) api(libs.jackson) api(libs.jackson.schema) diff --git a/integrations/gcp/README.MD b/integrations/gcp/README.MD index 402044d0e..dfc340051 100644 --- a/integrations/gcp/README.MD +++ b/integrations/gcp/README.MD @@ -129,7 +129,6 @@ kotlin { ... val jvmMain by getting { dependencies { - implementation(libs.logback) api(libs.ktor.client.cio) } } diff --git a/integrations/gcp/build.gradle.kts b/integrations/gcp/build.gradle.kts index 917f463d4..77eb26045 100644 --- a/integrations/gcp/build.gradle.kts +++ b/integrations/gcp/build.gradle.kts @@ -45,7 +45,6 @@ kotlin { } val jvmMain by getting { dependencies { - implementation(libs.logback) api(libs.ktor.client.cio) } } diff --git a/integrations/mlflow/build.gradle.kts b/integrations/mlflow/build.gradle.kts index b111fe3ec..352b35e07 100644 --- a/integrations/mlflow/build.gradle.kts +++ b/integrations/mlflow/build.gradle.kts @@ -45,7 +45,6 @@ kotlin { } val jvmMain by getting { dependencies { - implementation(libs.logback) api(libs.ktor.client.cio) } } diff --git a/openai-client/client/build.gradle.kts b/openai-client/client/build.gradle.kts index cae83fd9d..7beb5a2a1 100644 --- a/openai-client/client/build.gradle.kts +++ b/openai-client/client/build.gradle.kts @@ -73,7 +73,6 @@ kotlin { } val jvmMain by getting { dependencies { - implementation(libs.logback) api(libs.ktor.client.cio) } } diff --git a/reasoning/build.gradle.kts b/reasoning/build.gradle.kts index 9282c2661..07a15e52f 100644 --- a/reasoning/build.gradle.kts +++ b/reasoning/build.gradle.kts @@ -76,7 +76,6 @@ kotlin { } val jvmMain by getting { dependencies { - implementation(libs.logback) implementation(projects.xefPdf) implementation(projects.xefFilesystem) api(libs.ktor.client.cio) From 6ce5403959b71c9b2120d9b2dd44713fa118c9af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jose=CC=81=20Carlos=20Montan=CC=83ez?= Date: Wed, 10 Apr 2024 11:16:14 +0200 Subject: [PATCH 3/3] replaced slf4j with klogging --- server/build.gradle.kts | 1 - .../com/xebia/functional/xef/server/Server.kt | 4 ++-- .../xef/server/http/routes/XefRoutes.kt | 4 ++-- .../services/OrganizationRepositoryService.kt | 16 ++++++++-------- .../services/PostgresVectorStoreService.kt | 6 +++--- .../server/services/ProjectRepositoryService.kt | 16 ++++++++-------- .../server/services/TokenRepositoryService.kt | 14 +++++++------- .../xef/server/services/UserRepositoryService.kt | 8 ++++---- .../xef/server/services/VectorStoreService.kt | 4 ++-- 9 files changed, 36 insertions(+), 37 deletions(-) diff --git a/server/build.gradle.kts b/server/build.gradle.kts index 9d6a96a9d..b9398e1e7 100644 --- a/server/build.gradle.kts +++ b/server/build.gradle.kts @@ -43,7 +43,6 @@ dependencies { implementation(libs.ktor.server.cors) implementation(libs.ktor.server.request.validation) implementation(libs.ktor.server.status.pages) - implementation(libs.logback) implementation(libs.suspendApp.core) implementation(libs.suspendApp.ktor) implementation(libs.uuid) diff --git a/server/src/main/kotlin/com/xebia/functional/xef/server/Server.kt b/server/src/main/kotlin/com/xebia/functional/xef/server/Server.kt index 1d301a9cd..2566c167f 100644 --- a/server/src/main/kotlin/com/xebia/functional/xef/server/Server.kt +++ b/server/src/main/kotlin/com/xebia/functional/xef/server/Server.kt @@ -11,6 +11,7 @@ import com.xebia.functional.xef.server.http.routes.xefRoutes import com.xebia.functional.xef.server.services.hikariDataSource import com.xebia.functional.xef.server.services.vectorStoreService import com.xebia.functional.xef.store.migrations.runDatabaseMigrations +import io.github.oshai.kotlinlogging.KotlinLogging import io.ktor.client.HttpClient import io.ktor.client.engine.cio.CIO import io.ktor.client.plugins.auth.Auth @@ -30,13 +31,12 @@ import io.ktor.server.resources.Resources import io.ktor.server.routing.routing import kotlinx.coroutines.awaitCancellation import org.jetbrains.exposed.sql.Database -import org.slf4j.LoggerFactory object Server { @JvmStatic fun main(args: Array) = SuspendApp { resourceScope { - val logger = LoggerFactory.getLogger("xef-server") + val logger = KotlinLogging.logger("xef-server") val config = ConfigFactory.load("database.conf").resolve() val xefDBConfig = XefDatabaseConfig.load("xef-database", config) diff --git a/server/src/main/kotlin/com/xebia/functional/xef/server/http/routes/XefRoutes.kt b/server/src/main/kotlin/com/xebia/functional/xef/server/http/routes/XefRoutes.kt index 5b461b205..47b15f346 100644 --- a/server/src/main/kotlin/com/xebia/functional/xef/server/http/routes/XefRoutes.kt +++ b/server/src/main/kotlin/com/xebia/functional/xef/server/http/routes/XefRoutes.kt @@ -4,10 +4,10 @@ import com.xebia.functional.xef.server.services.OrganizationRepositoryService import com.xebia.functional.xef.server.services.ProjectRepositoryService import com.xebia.functional.xef.server.services.TokenRepositoryService import com.xebia.functional.xef.server.services.UserRepositoryService +import io.github.oshai.kotlinlogging.KLogger import io.ktor.server.routing.* -import org.slf4j.Logger -fun Routing.xefRoutes(logger: Logger) { +fun Routing.xefRoutes(logger: KLogger) { userRoutes(UserRepositoryService(logger)) organizationRoutes(OrganizationRepositoryService(logger)) projectsRoutes(ProjectRepositoryService(logger)) diff --git a/server/src/main/kotlin/com/xebia/functional/xef/server/services/OrganizationRepositoryService.kt b/server/src/main/kotlin/com/xebia/functional/xef/server/services/OrganizationRepositoryService.kt index e7c21635a..3142ab15a 100644 --- a/server/src/main/kotlin/com/xebia/functional/xef/server/services/OrganizationRepositoryService.kt +++ b/server/src/main/kotlin/com/xebia/functional/xef/server/services/OrganizationRepositoryService.kt @@ -4,14 +4,14 @@ import com.xebia.functional.xef.server.db.tables.Organization import com.xebia.functional.xef.server.db.tables.User import com.xebia.functional.xef.server.models.* import com.xebia.functional.xef.server.models.exceptions.XefExceptions.* +import io.github.oshai.kotlinlogging.KLogger import kotlinx.datetime.Clock import org.jetbrains.exposed.sql.SizedCollection import org.jetbrains.exposed.sql.transactions.transaction -import org.slf4j.Logger -class OrganizationRepositoryService(private val logger: Logger) { +class OrganizationRepositoryService(private val logger: KLogger) { fun createOrganization(data: OrganizationRequest, token: Token): OrganizationSimpleResponse { - logger.info("Creating organization with name: ${data.name}") + logger.info { "Creating organization with name: ${data.name}" } return transaction { // Getting the user from the token val user = token.getUser() @@ -30,7 +30,7 @@ class OrganizationRepositoryService(private val logger: Logger) { } fun getOrganizations(token: Token): List { - logger.info("Getting organizations") + logger.info { "Getting organizations" } return transaction { // Getting the user from the token val user = token.getUser() @@ -41,7 +41,7 @@ class OrganizationRepositoryService(private val logger: Logger) { } fun getOrganization(token: Token, id: Int): OrganizationFullResponse { - logger.info("Getting organizations") + logger.info { "Getting organizations" } return transaction { // Getting the user from the token val user = token.getUser() @@ -53,7 +53,7 @@ class OrganizationRepositoryService(private val logger: Logger) { } fun getUsersInOrganization(token: Token, id: Int): List { - logger.info("Getting users in organization") + logger.info { "Getting users in organization" } return transaction { // Getting the user from the token val user = token.getUser() @@ -71,7 +71,7 @@ class OrganizationRepositoryService(private val logger: Logger) { data: OrganizationUpdateRequest, id: Int ): OrganizationFullResponse { - logger.info("Updating organization with name: ${data.name}") + logger.info { "Updating organization with name: ${data.name}" } return transaction { // Getting the user from the token val user = token.getUser() @@ -95,7 +95,7 @@ class OrganizationRepositoryService(private val logger: Logger) { } fun deleteOrganization(token: Token, id: Int) { - logger.info("Deleting organization with id: $id") + logger.info { "Deleting organization with id: $id" } transaction { val user = token.getUser() val organization = diff --git a/server/src/main/kotlin/com/xebia/functional/xef/server/services/PostgresVectorStoreService.kt b/server/src/main/kotlin/com/xebia/functional/xef/server/services/PostgresVectorStoreService.kt index f21cc19cb..6f764ea4e 100644 --- a/server/src/main/kotlin/com/xebia/functional/xef/server/services/PostgresVectorStoreService.kt +++ b/server/src/main/kotlin/com/xebia/functional/xef/server/services/PostgresVectorStoreService.kt @@ -8,13 +8,13 @@ import com.xebia.functional.xef.store.VectorStore import com.xebia.functional.xef.store.postgresql.PGDistanceStrategy import com.xebia.functional.xef.store.postgresql.addNewCollection import com.xebia.functional.xef.store.postgresql.connection +import io.github.oshai.kotlinlogging.KLogger import javax.sql.DataSource import kotlinx.uuid.UUID import kotlinx.uuid.generateUUID -import org.slf4j.Logger class PostgresVectorStoreService( - private val logger: Logger, + private val logger: KLogger, private val dataSource: DataSource, private val collectionName: String, private val vectorSize: Int, @@ -33,7 +33,7 @@ class PostgresVectorStoreService( bind(uuid.toString()) bind(collectionName) } - .also { logger.info("Created collection $collectionName") } + .also { logger.info { "Created collection $collectionName" } } } } diff --git a/server/src/main/kotlin/com/xebia/functional/xef/server/services/ProjectRepositoryService.kt b/server/src/main/kotlin/com/xebia/functional/xef/server/services/ProjectRepositoryService.kt index 14e58ceb1..efe45ac47 100644 --- a/server/src/main/kotlin/com/xebia/functional/xef/server/services/ProjectRepositoryService.kt +++ b/server/src/main/kotlin/com/xebia/functional/xef/server/services/ProjectRepositoryService.kt @@ -3,13 +3,13 @@ package com.xebia.functional.xef.server.services import com.xebia.functional.xef.server.db.tables.* import com.xebia.functional.xef.server.models.* import com.xebia.functional.xef.server.models.exceptions.XefExceptions.* +import io.github.oshai.kotlinlogging.KLogger import kotlinx.datetime.Clock import org.jetbrains.exposed.sql.transactions.transaction -import org.slf4j.Logger -class ProjectRepositoryService(private val logger: Logger) { +class ProjectRepositoryService(private val logger: KLogger) { fun createProject(data: ProjectRequest, token: Token): ProjectSimpleResponse { - logger.info("Creating project with name: ${data.name}") + logger.info { "Creating project with name: ${data.name}" } return transaction { val user = token.getUser() @@ -30,7 +30,7 @@ class ProjectRepositoryService(private val logger: Logger) { } fun getProjects(token: Token): List { - logger.info("Getting projects") + logger.info { "Getting projects" } return transaction { val user = token.getUser() @@ -43,7 +43,7 @@ class ProjectRepositoryService(private val logger: Logger) { } fun getProject(token: Token, id: Int): ProjectFullResponse { - logger.info("Getting project") + logger.info { "Getting project" } return transaction { val user = token.getUser() @@ -58,7 +58,7 @@ class ProjectRepositoryService(private val logger: Logger) { } fun getProjectsByOrganization(token: Token, orgId: Int): List { - logger.info("Getting projects") + logger.info { "Getting projects" } return transaction { val user = token.getUser() @@ -71,7 +71,7 @@ class ProjectRepositoryService(private val logger: Logger) { } fun updateProject(token: Token, data: ProjectUpdateRequest, id: Int): ProjectFullResponse { - logger.info("Updating project with name: ${data.name}") + logger.info { "Updating project with name: ${data.name}" } return transaction { val user = token.getUser() @@ -101,7 +101,7 @@ class ProjectRepositoryService(private val logger: Logger) { } fun deleteProject(token: Token, id: Int) { - logger.info("Deleting project with id: $id") + logger.info { "Deleting project with id: $id" } transaction { val user = token.getUser() val project = Project.findById(id) ?: throw ProjectException("Project not found") diff --git a/server/src/main/kotlin/com/xebia/functional/xef/server/services/TokenRepositoryService.kt b/server/src/main/kotlin/com/xebia/functional/xef/server/services/TokenRepositoryService.kt index d3c8d23d1..313629084 100644 --- a/server/src/main/kotlin/com/xebia/functional/xef/server/services/TokenRepositoryService.kt +++ b/server/src/main/kotlin/com/xebia/functional/xef/server/services/TokenRepositoryService.kt @@ -7,13 +7,13 @@ import com.xebia.functional.xef.server.db.tables.XefTokens import com.xebia.functional.xef.server.db.tables.XefTokensTable import com.xebia.functional.xef.server.models.* import com.xebia.functional.xef.server.models.exceptions.XefExceptions.* +import io.github.oshai.kotlinlogging.KLogger import java.util.UUID import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq import org.jetbrains.exposed.sql.transactions.transaction -import org.slf4j.Logger -class TokenRepositoryService(private val logger: Logger) { +class TokenRepositoryService(private val logger: KLogger) { fun createToken(data: TokenRequest, userToken: Token): TokenSimpleResponse { return transaction { val user = userToken.getUser() @@ -21,7 +21,7 @@ class TokenRepositoryService(private val logger: Logger) { val project = Project.findById(data.projectId) ?: throw OrganizationsException("Project not found") - logger.info("Creating token with name ${data.name} from project ${project.name}") + logger.info { "Creating token with name ${data.name} from project ${project.name}" } if (user.organizations.none { it.id == project.orgId }) { throw OrganizationsException( @@ -43,7 +43,7 @@ class TokenRepositoryService(private val logger: Logger) { } fun getTokens(userToken: Token): List { - logger.info("Getting tokens") + logger.info { "Getting tokens" } return transaction { val user = userToken.getUser() @@ -64,7 +64,7 @@ class TokenRepositoryService(private val logger: Logger) { } fun getTokensByProject(userToken: Token, projectId: Int): List { - logger.info("Getting tokens by project") + logger.info { "Getting tokens by project" } return transaction { val user = userToken.getUser() @@ -78,7 +78,7 @@ class TokenRepositoryService(private val logger: Logger) { } fun updateToken(userToken: Token, data: TokenUpdateRequest, id: Int): TokenFullResponse { - logger.info("Updating token with name: ${data.name}") + logger.info { "Updating token with name: ${data.name}" } return transaction { val user = userToken.getUser() @@ -102,7 +102,7 @@ class TokenRepositoryService(private val logger: Logger) { } fun deleteToken(userToken: Token, id: Int) { - logger.info("Deleting token: $id") + logger.info { "Deleting token: $id" } transaction { val user = userToken.getUser() diff --git a/server/src/main/kotlin/com/xebia/functional/xef/server/services/UserRepositoryService.kt b/server/src/main/kotlin/com/xebia/functional/xef/server/services/UserRepositoryService.kt index e7c741bb6..01d4a9f97 100644 --- a/server/src/main/kotlin/com/xebia/functional/xef/server/services/UserRepositoryService.kt +++ b/server/src/main/kotlin/com/xebia/functional/xef/server/services/UserRepositoryService.kt @@ -7,15 +7,15 @@ import com.xebia.functional.xef.server.models.LoginResponse import com.xebia.functional.xef.server.models.RegisterRequest import com.xebia.functional.xef.server.models.exceptions.XefExceptions.UserException import com.xebia.functional.xef.server.utils.HashUtils +import io.github.oshai.kotlinlogging.KLogger import kotlinx.uuid.UUID import kotlinx.uuid.generateUUID import org.jetbrains.exposed.sql.transactions.transaction -import org.slf4j.Logger -class UserRepositoryService(private val logger: Logger) { +class UserRepositoryService(private val logger: KLogger) { fun register(request: RegisterRequest): LoginResponse { - logger.info("Registering user ${request.email}") + logger.info { "Registering user ${request.email}" } return transaction { if (User.find { UsersTable.email eq request.email }.count() > 0) { @@ -38,7 +38,7 @@ class UserRepositoryService(private val logger: Logger) { } fun login(request: LoginRequest): LoginResponse { - logger.info("Login user ${request.email}") + logger.info { "Login user ${request.email}" } return transaction { val user = User.find { UsersTable.email eq request.email }.firstOrNull() diff --git a/server/src/main/kotlin/com/xebia/functional/xef/server/services/VectorStoreService.kt b/server/src/main/kotlin/com/xebia/functional/xef/server/services/VectorStoreService.kt index 3b6d96ff7..194f205c9 100644 --- a/server/src/main/kotlin/com/xebia/functional/xef/server/services/VectorStoreService.kt +++ b/server/src/main/kotlin/com/xebia/functional/xef/server/services/VectorStoreService.kt @@ -5,11 +5,11 @@ import com.typesafe.config.Config import com.xebia.functional.xef.store.VectorStore import com.xebia.functional.xef.store.config.PostgreSQLVectorStoreConfig import com.xebia.functional.xef.store.migrations.runDatabaseMigrations +import io.github.oshai.kotlinlogging.KLogger import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.hocon.Hocon -import org.slf4j.Logger enum class XefVectorStoreType { PSQL, @@ -27,7 +27,7 @@ enum class XefVectorStoreType { suspend fun ResourceScope.vectorStoreService( configNamespace: String, config: Config, - logger: Logger + logger: KLogger ): VectorStoreService = withContext(Dispatchers.IO) { val vectorStoreConfig = config.getConfig(configNamespace)