java - SLF4J + logback + JBoss 7?

标签 java jboss jboss7.x slf4j logback

有人有 SLF4J/logback 来与 JBoss 7 一起工作吗?

以前,通过将我的“logback.groovy”放入 [server]/conf 以及 logback 核心、经典 (0.9.28) 和 Groovy (1.8.0),我能够让我的应用程序在 JBoss 5.1 中运行) [server]/lib 中的 JAR。

对于 JBoss 7.0.1,我已经正确设置了 Groovy 和 logback 模块(已经创建了 .index 文件),我的 EAR 的 MANIFEST.MF 声明了对这两个模块的依赖关系,我的“logback.groovy”是在我的 EAR 中部署在我的 WAR 模块的 WEB-INF/类中。 EAR 肯定部署正常 - 灯是绿色的......

尽管如此,实际应用的唯一日志记录规则是在“standalone.xml”中设置的标准 console/server.log。是的,我可以看到我的日志语句(所以 SLF4J 正在工作),但是我的 logback 规则、附加程序等都被忽略了。在任何日志记录中都没有对 logback 或 Groovy 的引用,所以我假设我没有做足够的事情来触发 logback 的加载和查找我的脚本。

我还可以尝试其他方法,但最好知道其他人是否已经尝试过。如果他们没有,也许这表明我应该投入 JBoss 日志记录?

最佳答案

您确定 logback 处于 Activity 状态吗?如果 logback 找不到配置文件,即 logback.groovy 或 logback.xml,它将在控制台上打印一条警告消息。输出应类似于:

12:49:22,078 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
12:49:22,093 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]
12:49:22,093 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Setting up default configuration.

你在控制台上看到任何这样的输出吗?如果没有,假设 Jboss 7 与 slf4j 绑定(bind)捆绑在一起,您可能已经在使用 Jboss 日志记录。 (您对 slf4j api 的调用被发送到 jboss 日志而不是 logback。)

应该联系 Jboss 人员关于使用 jboss-logging 以外的日志后端。

再深入一点,我注意到 JAS7 附带了一个名为 slf4j-jboss-logmanager-1.0.0.GA.jar 的文件,位于 ./modules/org/slf4j/impl/main/ 文件夹。这个文件的内容表明它肯定是一个 slf4j 绑定(bind)。我不知道 Jboss“模块”是如何工作的,但是如果您希望 slf4j 获取 logback-classic,则删除/禁用 slf4j-jboss-logmanager 是可行的方法。

关于java - SLF4J + logback + JBoss 7?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7499014/

相关文章:

java - 从 jar 访问网络资源

jakarta-ee - 如何以编程方式查找 EJB 的 JNDI 查找名称?

java8解码以base64编码的图像

java - 将单击的按钮名称传递给 Android 中的不同类

JBoss 7 SNMP 适配器

java - 如何修改JBOSS中的standalone.xml,使其从外部可见?

jpa - 使用从 EJB 到数据库的流保存 blob(以内存高效的方式)

java - Couchbase DCP Client 0.10.0 失败并出现 java.lang.NoSuchMethodError

Java persistancemanager获取返回较少的实体

tomcat - 何时放弃 Java EE 容器(即 JBoss)以直接使用 Tomcat