java - 使用log4j实例创建slf4j Logger

标签 java log4j slf4j

通常通过调用 LoggerFactory.getLogger(<class>) 创建一个 SLF4J 记录器除非您创建资源文件,否则不允许设置日志记录级别是否有一种方法可以通过编程方式创建具有设置级别的 log4j 记录器实例,然后将其用作绑定(bind)到 SLF4j 外观的实例?

最佳答案

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))
}


关于java - 使用log4j实例创建slf4j Logger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60345646/

相关文章:

java - 外部设置日志级别log4j

log4j - 跨平台登录临时目录

Java log4j 并不总是记录最后一行

spring - 加载类 "org.slf4j.impl.StaticLoggerBinder"失败,Spring Boot

java - 线程安全的 while 循环

java - 是否可以反/序列化 map 自身在 jackson 中的多态性?

java - 丙二醛 : Model Driven Architecture

java - KeyListener 无法与 JFrame Canvas 一起使用

java - LogBack 使用 MessageFormat

java - 在Logback自动扫描中配置日志记录操作