如何在部署在JBoss EAP 7上的Spring Boot war应用程序中使用logback + slf 4j-目前它不记录任何内容

yv5phkfx  于 2022-11-08  发布在  Spring
关注(0)|答案(2)|浏览(200)

我在JBoss EAP7.0上部署了一个Sping 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

然后,Sping 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" />
h4cxqtbf

h4cxqtbf1#

可能不是问题所在,但您是否更改了JBoss每个部署的日志记录设置?如果您将JBoss虚拟机参数设置为:-Dorg.jboss.as.logging.per-deployment=false它将禁用应用特定的日志记录器设置,并使用JBoss在$EAP_HOME/standalone/configuration/standalone.xml中定义的设置
如果这不是问题所在,您可能需要打开vm arg来测试jboss本身是否至少能够正确地为您的应用记录日志,以帮助缩小问题范围。更多信息:https://docs.jboss.org/author/display/AS72/Logging+Configuration?_sscc=t

myss37ts

myss37ts2#

您应该将父包和日志级别保存在JBOSS_HOME/standalone/configuration/standalone.xml中,如下所述

<logger category="com.iedr">
    <level name="INFO"/>
</logger>

这里我的父包是com.iedr,而我想要的日志级别是INFO。您应该将它添加到您的日志子系统中,如下所述

<subsystem xmlns="urn:jboss:domain:logging:8.0">
<console-handler name="CONSOLE">
    <level name="INFO"/>
    <formatter>
        <named-formatter name="COLOR-PATTERN"/>
    </formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
    <formatter>
        <named-formatter name="PATTERN"/>
    </formatter>
    <file relative-to="jboss.server.log.dir" path="server.log"/>
    <suffix value=".yyyy-MM-dd"/>
    <append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
    <level name="WARN"/>
</logger>
<logger category="io.jaegertracing.Configuration">
    <level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
    <level name="DEBUG"/>
</logger>
<logger category="sun.rmi">
    <level name="WARN"/>
</logger>
<logger category="com.iedr">
    <level name="INFO"/>
</logger>
<root-logger>
    <level name="INFO"/>
    <handlers>
        <handler name="CONSOLE"/>
        <handler name="FILE"/>
    </handlers>
</root-logger>
<formatter name="PATTERN">
    <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
</formatter>
<formatter name="COLOR-PATTERN">
    <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
</formatter>

相关问题