首页 > 解决方案 > JBoss 7.1 Spring Boot 日志记录

问题描述

我在 Java 11 上运行 JBoss 7.1.6。

我已经成功部署了 Spring Boot 2.5.2 WAR 文件,但日志记录非常奇怪。我正在使用 Spring Boot 的默认日志记录提供程序 Logback。我有一个非常标准的 logback.xml 文件位于外部。以下是 logback.xml 的摘录:

<logger name="com.sun" level="INFO"/>
<logger name="org.apache" level="INFO"/>
<logger name="org.springframework" level="DEBUG"/>
<logger name="org.springframework.core.env" level="DEBUG"/>
<logger name="org.springframework.jndi" level="ERROR"/>

我将系统属性添加到standalone.xml 文件以指向我的外部配置:

<property name="javax.xml.parsers.DocumentBuilderFactory" value="com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"/>
<property name="javax.xml.transform.TransformerFactory" value="com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl"/>
<property name="javax.xml.transform.Transformer" value="com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl"/>
<property name="spring.config.additional-location" value="file:/path/to/folder/"/>
<property name="spring.profiles.active" value="dev"/>

我还有一个 jboss-deployment-destructure.xml 定义如下:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
  <deployment>
    <dependencies>
      <system export="true">
        <paths>
          <path name="com/sun/org/apache/xml/internal/serializer"/>
          <path name="com/sun/org/apache/xml/internal/dtm"/>
          <path name="com/sun/org/apache/xml/internal/dtm/ref"/>
          <path name="com/sun/org/apache/xalan/internal/xsltc"/>
          <path name="com/sun/org/apache/xalan/internal/xsltc/dom"/>
          <path name="com/sun/org/apache/xalan/internal/xsltc/runtime"/>
        </paths>
      </system>
    </dependencies>
    <exclude-subsystems>
      <subsystem name="jaxrs"/>
    </exclude-subsystems>
    <exclusions>
      <module name="com.fasterxml.jackson.core.jackson-core"/>
      <module name="com.fasterxml.jackson.core.jackson-annotations"/>
      <module name="com.fasterxml.jackson.core.jackson-databind"/>
      <module name="com.fasterxml.jackson.datatype.jackson-datatype-jdk8"/>
      <module name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310"/>
      <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider"/>
      <module name="org.jboss.resteasy.resteasy-jackson2-provider"/>
      <module name="org.jboss.resteasy.resteasy-jackson-provider"/>
      <module name="org.apache.commons.logging"/>
      <module name="org.apache.log4j"/>
      <module name="org.apache.xalan"/>
      <module name="org.apache.xerces"/>
      <module name="org.apache.xml-resolver"/>
      <module name="org.slf4j"/>
      <module name="org.slf4j.ext"/>
      <module name="org.slf4j.impl"/>
    </exclusions>
  </deployment>
</jboss-deployment-structure>

我开发的所有类的日志都很好,但我没有看到来自第三方部门的任何日志,即 org.springframework、org.apache 等。

标签: javaspringspring-bootloggingjboss

解决方案


推荐阅读