org.jboss.logging 如何在运行时设置日志记录

How to set logging at runtime in org.jboss.logging

我正在使用嵌入式 undertow 并使用 org.jboss.logging.Logger 进行日志记录。我不能使用 log4j 或 slf4j,因为要使用我的 jar 的应用程序可能不会使用不同版本的 log4j,并且可能存在一些冲突。而且由于 undertow 已经内置了 jobss.logging,我不想向我的 jar 添加任何依赖项。

那么,有什么方法可以通过将日志级别作为参数传递给方法或构造函数来在 运行 时添加日志级别吗?

JBoss 日志记录只是像 slf4j 一样的日志记录外观。您需要一个日志管理器来配置日志记录。 JBoss 日志记录与 JUL、JBoss 日志管理器、log4j、log4j2 和 logback 一起使用。如果您的 class 路径上没有日志管理器,那么将使用 JUL。

您还可以定义哪个日志管理器 JBoss Logging 应尝试使用 org.jboss.logging.provider 系统 属性 进行绑定。有效值为:

  • jboss 用于 JBoss 日志管理器
  • jdk 七月
  • log4j2 对于 log4j2
  • log4j 对于 log4j
  • slf4j 用于 logback