Использование экземпляра log4j для создания slf4j Logger - PullRequest
0 голосов
/ 21 февраля 2020

Обычно один создает регистратор SLF4J, вызывая LoggerFactory.getLogger(<class>), который не позволяет установить уровень ведения журнала, если только вы не создаете файл ресурсов. Существует ли способ создать экземпляр регистратора log4j с настройкой уровня программно, а затем использовать его в качестве экземпляра привязать к фасаду SLF4j?

1 Ответ

1 голос
/ 22 февраля 2020

LoggerFactory в пакете org.slf4j может получить фабрику логгеров и позволить вам обновить ее.

Я использую Scala, чтобы привести пример, java почти то же самое с Scala.


import ch.qos.logback.classic.{Level, Logger, LoggerContext}
import org.slf4j.LoggerFactory


val loggerContext: LoggerContext = LoggerFactory.getILoggerFactory.asInstanceOf[LoggerContext]
val rootLogger: Logger = loggerContext.getLogger("root")

def setLevel(level: String) = {
  rootLogger.setLevel(Level.toLevel(level))
}


...