fix: migrate to SLF4J and Logback logging implementations

This commit is contained in:
Akash Yadav
2024-03-17 00:04:43 +05:30
parent 940c7b0aa2
commit ab101fb59d
409 changed files with 2735 additions and 2731 deletions
@@ -33,12 +33,11 @@ import com.itsaky.androidide.preferences.internal.tabSize
import com.itsaky.androidide.projects.FileManager
import com.itsaky.androidide.projects.ProjectManagerImpl
import com.itsaky.androidide.projects.builder.BuildService
import com.itsaky.androidide.testing.tooling.ToolingApiTestLauncher
import com.itsaky.androidide.tooling.api.IProject
import com.itsaky.androidide.tooling.api.IToolingApiServer
import com.itsaky.androidide.testing.tooling.ToolingApiTestLauncher
import com.itsaky.androidide.utils.Environment
import com.itsaky.androidide.utils.FileProvider
import com.itsaky.androidide.utils.ILogger
import io.github.rosemoe.sora.text.Content
import io.mockk.every
import io.mockk.mockkStatic
@@ -49,6 +48,8 @@ import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.RuntimeEnvironment
import org.robolectric.annotation.Config
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.io.File
import java.nio.file.Path
@@ -68,10 +69,11 @@ abstract class LSPTest {
var file: Path? = null
var contents: StringBuilder? = null
protected val log = ILogger.newInstance(javaClass.simpleName)
companion object {
@JvmStatic
protected val log: Logger = LoggerFactory.getLogger(LSPTest::class.java)
@JvmStatic
protected var isInitialized: Boolean = false
}
@@ -28,13 +28,14 @@ import com.itsaky.androidide.tooling.api.messages.LogMessageParams
import com.itsaky.androidide.tooling.api.messages.result.BuildInfo
import com.itsaky.androidide.tooling.api.messages.result.BuildResult
import com.itsaky.androidide.tooling.api.messages.result.GradleWrapperCheckResult
import com.itsaky.androidide.tooling.api.messages.result.InitializeResult
import com.itsaky.androidide.tooling.api.messages.toLogLine
import com.itsaky.androidide.tooling.api.util.ToolingApiLauncher
import com.itsaky.androidide.tooling.events.ProgressEvent
import com.itsaky.androidide.tooling.api.util.ToolingProps
import com.itsaky.androidide.tooling.events.ProgressEvent
import com.itsaky.androidide.utils.FileProvider
import com.itsaky.androidide.utils.ILogger
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.io.BufferedReader
import java.io.File
import java.io.InputStream
@@ -76,11 +77,12 @@ object ToolingApiTestLauncher {
projectDir.pathString,
client.gradleDistParams
),
log: ILogger = ILogger.newInstance("BuildOutputLogger"),
log: Logger = LoggerFactory.getLogger("BuildOutputLogger"),
sysProps: Map<String, String> = emptyMap(),
sysEnvs: Map<String, String> = emptyMap(),
action: ToolingApiTestScope.() -> Unit
) = launchServer(ToolingApiTestLauncherParams(projectDir, client, initParams, log, sysProps, sysEnvs), action)
) = launchServer(
ToolingApiTestLauncherParams(projectDir, client, initParams, log, sysProps, sysEnvs), action)
@JvmOverloads
@JvmStatic
@@ -120,7 +122,8 @@ object ToolingApiTestLauncher {
proc.onExit().whenComplete { process, error ->
if (process != null) {
println("[ToolingApiTestLauncher] Tooling API server process finished with exit code: ${process.exitValue()}")
println(
"[ToolingApiTestLauncher] Tooling API server process finished with exit code: ${process.exitValue()}")
}
if (error != null) {
println("[ToolingApiTestLauncher] Tooling API server process error")
@@ -191,7 +194,7 @@ object ToolingApiTestLauncher {
var agpVersion: String = DEFAULT_AGP_VERSION,
var gradleVersion: String = DEFAULT_GRADLE_VERSION,
private val androidBlockConfig: String = "",
private val log: ILogger = ILogger.newInstance(MultiVersionTestClient::class.simpleName),
private val log: Logger = LoggerFactory.getLogger(MultiVersionTestClient::class.java),
private val extraArgs: List<String> = emptyList(),
private var excludeUnresolvedDependency: Boolean = false
) : IToolingApiClient {
@@ -216,7 +219,16 @@ object ToolingApiTestLauncher {
override fun logMessage(params: LogMessageParams) {
val line = params.toLogLine()
log.log(line.level, line.formattedTagAndMessage())
val message = line.message
val logger = LoggerFactory.getLogger(line.tag)
when (line.level) {
ILogger.Level.DEBUG -> logger.debug(message)
ILogger.Level.WARNING -> logger.warn(message)
ILogger.Level.ERROR -> logger.error(message)
ILogger.Level.INFO -> logger.info(message)
else -> logger.trace(message)
}
}
override fun logOutput(line: String) {
@@ -295,7 +307,7 @@ object ToolingApiTestLauncher {
}
}
private class Reader(val input: InputStream, val log: ILogger) : Runnable {
private class Reader(val input: InputStream, val log: Logger) : Runnable {
override fun run() {
try {
@@ -306,7 +318,7 @@ object ToolingApiTestLauncher {
line = reader.readLine()
}
} catch (error: Throwable) {
log.error(error)
log.error("An error occurred reading from tooling API", error)
}
}
}
@@ -20,7 +20,8 @@ package com.itsaky.androidide.testing.tooling.models
import com.itsaky.androidide.testing.tooling.ToolingApiTestLauncher
import com.itsaky.androidide.tooling.api.messages.InitializeProjectParams
import com.itsaky.androidide.utils.FileProvider
import com.itsaky.androidide.utils.ILogger
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.nio.file.Path
import kotlin.io.path.pathString
@@ -36,7 +37,7 @@ data class ToolingApiTestLauncherParams(
projectDir.pathString,
client.gradleDistParams
),
val log: ILogger = ILogger.newInstance("BuildOutputLogger"),
val log: Logger = LoggerFactory.getLogger("BuildOutputLogger"),
val sysProps: Map<String, String> = emptyMap(),
val sysEnvs: Map<String, String> = emptyMap()
)