如何在JBoss EAP7上部署的Spring Boot war应用程序中使用logback + slf4j - 目前它没有记录任何内容

时间:2018-02-05 13:11:46

标签: spring-boot jboss logback slf4j jboss-eap-7

我在JBoss EAP7.0上部署了Spring Boot(1.5.10)War应用程序。我已经保留了Spring Boot附带的所有日志记录配置。我想使用logging.xxx属性而不是logback xml文件指定日志级别和其他内容。

关键是JBoss开始并打印到这里:

14:04:19,866 INFO  [stdout] (ServerService Thread Pool -- 68) 14:04:19.865 [ServerService Thread Pool -- 68] DEBUG org.springframework.web.context.support.StandardServletEnvironment - Replacing PropertySource 'servletContextInitParams' with 'servletContextInitParams'
Connected to server
[2018-02-05 02:04:39,152] Artifact Gradle : xxx : yyy-1.0.0-SNAPSHOT.war (exploded): Artifact is being deployed, please wait...
[2018-02-05 02:04:55,092] Artifact Gradle : xxx : yyy-1.0.0-SNAPSHOT.war (exploded): Artifact is deployed successfully
[2018-02-05 02:04:55,092] Artifact Gradle : xxx : yyy-1.0.0-SNAPSHOT.war (exploded): Deploy took 15,940 milliseconds

然后Spring Boot应用程序应该跟踪,但控制台中没有任何内容,也没有在server.log文件中

如果我在Tomcat服务器上部署它,它可以正常工作。

我已经尝试了几件事,包括在jboss-deployment-structure.xml中设置它,但它们都不起作用:

<exclusions>
    <module name="org.apache.commons.logging" />
    <module name="org.apache.log4j" />
    <module name="org.jboss.logging" />
    <module name="org.jboss.logging.jul-to-slf4j-stub" />
    <module name="org.jboss.logmanager" />
    <module name="org.jboss.logmanager.log4j" />
    <module name="org.slf4j" />
    <module name="org.slf4j.impl" />
    <module name="org.slf4j.jcl-over-slf4j" />

1 个答案:

答案 0 :(得分:0)

可能不是问题,但您是否根据部署日志记录设置更改了JBoss?如果您设置这样的JBoss vm arg:-Dorg.jboss.as.logging.per-deployment=false它将禁用您的应用特定记录器设置并使用您在$EAP_HOME/standalone/configuration/standalone.xml

中JBoss定义的设置

如果这不是问题,您可能需要打开该vm arg以测试jboss本身是否至少会正确记录您的应用以帮助缩小您的问题范围。更多信息:https://docs.jboss.org/author/display/AS72/Logging+Configuration?_sscc=t