Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit d9d855ff authored by Rafael Tonholo's avatar Rafael Tonholo
Browse files

refactor(logging): use log level provider to retrieve the CompositeLogSink's log level

parent b364fbd8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ val appCommonCoreModule: Module = module {

    single<CompositeLogSink> {
        CompositeLogSink(
            level = get(),
            logLevelProvider = get(),
            sinks = get(),
        )
    }
@@ -51,7 +51,7 @@ val appCommonCoreModule: Module = module {

    single<CompositeLogSink>(named(SYNC_DEBUG_LOG)) {
        CompositeLogSink(
            level = get(),
            logLevelProvider = get(),
            sinks = get(),
        )
    }
+4 −3
Original line number Diff line number Diff line
package net.thunderbird.core.logging.composite

import net.thunderbird.core.logging.LogLevel
import net.thunderbird.core.logging.LogLevelProvider
import net.thunderbird.core.logging.LogSink

/**
@@ -22,15 +23,15 @@ interface CompositeLogSink : LogSink {
/**
 * Creates a [CompositeLogSink] with the specified log level and manager.
 *
 * @param level The minimum [LogLevel] for messages to be logged.
 * @param logLevelProvider The minimum [LogLevel] for messages to be logged.
 * @param manager The [CompositeLogSinkManager] that manages the collection of sinks.
 * @param sinks A list of [LogSink] instances to be managed by this composite sink.
 * @return A new instance of [CompositeLogSink].
 */
fun CompositeLogSink(
    level: LogLevel,
    logLevelProvider: LogLevelProvider,
    manager: CompositeLogSinkManager = DefaultLogSinkManager(),
    sinks: List<LogSink> = emptyList(),
): CompositeLogSink {
    return DefaultCompositeLogSink(level, manager, sinks)
    return DefaultCompositeLogSink(logLevelProvider, manager, sinks)
}
+3 −1
Original line number Diff line number Diff line
@@ -2,13 +2,15 @@ package net.thunderbird.core.logging.composite

import net.thunderbird.core.logging.LogEvent
import net.thunderbird.core.logging.LogLevel
import net.thunderbird.core.logging.LogLevelProvider
import net.thunderbird.core.logging.LogSink

internal class DefaultCompositeLogSink(
    override val level: LogLevel,
    private val logLevelProvider: LogLevelProvider,
    override val manager: CompositeLogSinkManager = DefaultLogSinkManager(),
    sinks: List<LogSink> = emptyList(),
) : CompositeLogSink {
    override val level: LogLevel get() = logLevelProvider.current()

    init {
        manager.addAll(sinks)
+4 −4
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ class DefaultCompositeLogSinkTest {

        // Act
        DefaultCompositeLogSink(
            level = LogLevel.INFO,
            logLevelProvider = { LogLevel.INFO },
            manager = sinkManager,
            sinks = listOf(sink1, sink2),
        )
@@ -38,7 +38,7 @@ class DefaultCompositeLogSinkTest {
        val sinkManager = FakeCompositeLogSinkManager(mutableListOf(sink1, sink2))

        val testSubject = DefaultCompositeLogSink(
            level = LogLevel.INFO,
            logLevelProvider = { LogLevel.INFO },
            manager = sinkManager,
        )

@@ -60,7 +60,7 @@ class DefaultCompositeLogSinkTest {
        val sinkManager = FakeCompositeLogSinkManager(mutableListOf(sink1, sink2))

        val testSubject = DefaultCompositeLogSink(
            level = LogLevel.WARN,
            logLevelProvider = { LogLevel.WARN },
            manager = sinkManager,
        )

@@ -80,7 +80,7 @@ class DefaultCompositeLogSinkTest {
        val sinkManager = FakeCompositeLogSinkManager(mutableListOf(sink1, sink2))

        val testSubject = DefaultCompositeLogSink(
            level = LogLevel.INFO,
            logLevelProvider = { LogLevel.INFO },
            manager = sinkManager,
        )

+1 −1
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ class TestApp : Application() {
        val fileSink: FileLogSink = mock<FileLogSink>()

        val compositeSink: CompositeLogSink = CompositeLogSink(
            level = LogLevel.DEBUG,
            logLevelProvider = { LogLevel.DEBUG },
            manager = sinkManager,
            sinks = listOf(fileSink),
        )
Loading