使用 log4j 实例创建 slf4j Logger

Using an instance of log4j to create slf4j Logger

通常通过调用 LoggerFactory.getLogger(<class>) 创建一个 SLF4J 记录器,它不允许设置日志记录级别,除非您创建资源文件有没有办法以编程方式创建具有设置级别的 log4j 记录器实例,然后使用那作为绑定到 SLF4j facade 的实例?

org.slf4j 包中的 LoggerFactory 可以获取记录器工厂并让您更新它。

我用的是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))
}