And*_*gan 9 java jboss logback slf4j jboss7.x
有人有SLF4J/logback与JBoss 7一起工作吗?
以前,通过在[server]/conf中放置我的"logback.groovy",以及在logback核心,经典(0.9.28)和Groovy(1.8.0)JAR中,我能够让我的应用程序在JBoss 5.1中运行[服务器]/lib中.
对于JBoss 7.0.1,我已经设置了Groovy和logback模块(已经创建了.index文件),我的EAR的MANIFEST.MF声明了对两个模块的依赖关系,我的"logback.groovy"部署在我的我的EAR中的WAR模块的WEB-INF/classes.EAR肯定部署好 - 灯是绿色的......
尽管如此,实际应用的唯一日志记录规则是在"standalone.xml"中设置的标准console/server.log.是的,我可以看到我的日志语句(因此SLF4J正在运行),但我的注销规则,追加者等被忽略了.在任何日志记录中都没有引用logback或Groovy,所以我假设我没有做足够的事情来触发logback的加载并找到我的脚本.
还有其他我可以尝试的东西,但是知道其他人是否尝试过这个会很好.如果他们没有,或许这是一个迹象,我应该抛弃我的JBoss Logging?
你确定回归活跃吗?如果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.
Run Code Online (Sandbox Code Playgroud)
你在控制台上看到任何这样的输出吗?如果没有,假设Jboss 7与slf4j绑定捆绑在一起,您可能已经在使用Jboss日志记录了.(您对slf4j api的调用将被发送到jboss日志记录而不是logback.)
应该联系Jboss人员使用jboss-logging以外的日志记录后端.
进一步挖掘,我注意到JAS7附带了一个名为slf4j-jboss-logmanager-1.0.0.GA.jar的文件,该文件位于./modules/org/slf4j/impl/main/文件夹下.该文件的内容显示它绝对是一个slf4j绑定.我不知道Jboss"模块"是如何工作的,但如果你希望slf4j能够获取logback-classic,那么删除/禁用slf4j-jboss-logmanager就是你的选择.
JBoss AS7使用jboss-logmanager.我假设logback appender需要一个可以处理它们的日志管理器.我不确定如果你关掉日志管理器会发生什么.
支持自定义java.util.logging.Handler,因此您可以在处理程序中为appender编写包装器.我知道这可能不太理想,但它应该有效.
我鼓励任何人使用JBoss Logging,而不仅仅是因为我的工作:-)它确实有一些很好的功能,比如var-arg log方法,这是吸引我的第一步.还支持通过接口进行i18n日志记录和消息.
JBoss Logging也不仅仅是一个API.这是一个完整的日志框架.在JBoss Logging的下一个版本中,我们将提供一种方法来指定您想要使用的日志管理器.这可能会使这样的事情变得更容易,但我必须承认我没有在AS7中测试过.如果我得到时间,我会.
| 归档时间: |
|
| 查看次数: |
11327 次 |
| 最近记录: |