mirror of
https://github.com/revanced/revanced-cli.git
synced 2024-06-02 19:36:07 +02:00
d9c5a179c5
* Fix #79. Changed from default StreamHandler to FlushingStreamHandler which flushes after every log statement * Added removal of handlers, so they will not be duplicated. * Replaced removal of handlers with addition only in case if there are no handlers already. Changed errorLogger name from hardcoded to reusing previous logger name, so it will have the same name if only first parameter is used. * Replaced calls ::javaClass.name to ::class.java.name to have proper class names in loggers
31 lines
986 B
Kotlin
31 lines
986 B
Kotlin
package app.revanced.cli.logging.impl
|
|
|
|
import app.revanced.cli.command.MainCommand
|
|
import app.revanced.cli.logging.CliLogger
|
|
import java.util.logging.Logger
|
|
import java.util.logging.SimpleFormatter
|
|
|
|
internal class DefaultCliLogger(
|
|
private val logger: Logger = Logger.getLogger(MainCommand::class.java.name),
|
|
private val errorLogger: Logger = Logger.getLogger(logger.name + "Err")
|
|
) : CliLogger {
|
|
|
|
init {
|
|
logger.useParentHandlers = false
|
|
if (logger.handlers.isEmpty()) {
|
|
logger.addHandler(FlushingStreamHandler(System.out, SimpleFormatter()))
|
|
}
|
|
}
|
|
|
|
companion object {
|
|
init {
|
|
System.setProperty("java.util.logging.SimpleFormatter.format", "%4\$s: %5\$s %n")
|
|
}
|
|
}
|
|
|
|
override fun error(msg: String) = errorLogger.severe(msg)
|
|
override fun info(msg: String) = logger.info(msg)
|
|
override fun trace(msg: String) = logger.finest(msg)
|
|
override fun warn(msg: String) = errorLogger.warning(msg)
|
|
}
|