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

Posted

技术标签:

【中文标题】如何在运行时在 org.jboss.logging 中设置日志记录【英文标题】:How to set logging at runtime in org.jboss.logging 【发布时间】:2020-08-30 16:24:29 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

JBoss Logging 只是一个类似于 slf4j 的日志外观。您需要一个日志管理器来配置日志记录。 JBoss Logging 可与 JUL、JBoss 日志管理器、log4j、log4j2 和 logback 一起使用。如果您的类路径上没有日志管理器,则将使用 JUL。

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

jboss 用于 JBoss 日志管理器 jdk 为 7 月 log4j2 用于 log4j2 log4j 用于 log4j slf4j 用于登录

【讨论】:

以上是关于如何在运行时在 org.jboss.logging 中设置日志记录的主要内容,如果未能解决你的问题,请参考以下文章

错误“java.lang.NoSuchMethodError:org.jboss.logging.Logger.getMessageLogger”

不断收到'java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/l

java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/S

log4j:ERROR A "org.jboss.logging.appender.FileAppender" object is not assignable to a &quo

java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/S

resin发布spring-boot项目报错“java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger”