我想使用slf4j + logback登录JBossAS7。
另外我必须解决以下要求:
我现在知道的是,JBoss使用自己的日志记录层。出于架构原因,我无法使用它。我想坚持使用SLF4J作为Logging-API和Logback作为框架。
我很乐意得到一些提示,如何解决这个问题。
此致
拉斯
答案 0 :(得分:1)
拉斯, 我能想到的唯一方法是编写自定义处理程序。虽然目前还没有很好的文档记录,但您可以创建自定义的java.util.logging.Handler。你可以在logback的配置周围写一个包装器。我认为他们有一个BasicConfigurator或类似的东西。
您注册了一个自定义处理程序,如下所示:
<custom-handler name="logbackHandler" class="org.jboss.LogbackHandler" module="org.jboss.logback">
<level name="DEBUG"/>
<properties>
<property name="nameOfASetterMethod" value="the value to set" />
</properties>
</custom-handler>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
<handler name="logbackHandler"/>
</handlers>
</root-logger>
那说可能没有必要这样做。即使您正在通过不同的外观登录,应用程序服务器记录器也会记录消息。如果要写入自己的文件,可以设置不同的文件处理程序。
我意识到登录JBoss AS7确实可以使用更好的文档。我确实计划在找到时间时更新:-)而且我真的只需要花时间。
答案 1 :(得分:1)
我很确定你可以在JBoss中为你自己的应用程序使用slf4j + logback并完全绕过它的日志记录。 JBoss将继续将所有自己的日志消息记录到自己的日志中,但是您的软件根本不会连接到jboss-logging,并且会有自己的日志。我在JBoss 6下试过这个;我们还没有尝试过JBoss 7,所以事情可能会有所不同,但我对此表示怀疑。只要确保slf4j和logback jar都在你的应用程序的类路径中,你应该很好。
如果您搜索可用的系统属性,您将找到一些jboss。*属性,这些属性在您的回溯配置中可能非常有用,可用于查找放置日志文件的位置。
就个人而言,我希望JBoss转而使用slf4j。