覆盖 WildFly 中的日志记录

2024-02-20

我使用 tomcat 并简单地覆盖默认日志系统。如何在我的 Spring 应用程序中启用 Wildfly 上的 logback 日志记录?

我的 Logback.xml 在 tomcat 上工作

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
        </encoder>
    </appender>

    <logger name="org.springframework" level="WARN" />
    <logger name="com.citronium.planstery" level="INFO" />
    <logger name="org.apache.http.impl.conn.tsccm" level="ERROR" />

    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

您可以使用 logback 在应用程序中配置日志记录。您不能使用 logback 来配置服务器的日志记录。

要在配置中使用 logback,您需要更改add-logging-api-dependencies to false或创建一个jboss-deployment-structure.xml不包括子系统。您还需要在部署中包含 logback 和 slf4j。

第一个选项是更改add-logging-api-dependencies是所有部署的全局设置。以下 CLI 命令将更改该值:

/subsystem=logging:write-attribute(name=add-logging-api-dependencies,value=false)

该选项根本不添加任何implicit https://docs.jboss.org/author/display/WFLY8/Implicit+module+dependencies+for+deployments记录对您的部署的依赖关系。

第二种选择是使用jboss-deployment-structure.xml将仅禁用您的部署的日志记录子系统。以下是示例文件:

<jboss-deployment-structure>
  <deployment>
     <!-- exclude-subsystem prevents a subsystems deployment unit processors running on a deployment -->
     <!-- which gives basically the same effect as removing the subsystem, but it only affects single deployment -->
     <exclude-subsystems>
        <subsystem name="logging" />
    </exclude-subsystems>
  </deployment>
</jboss-deployment-structure>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

覆盖 WildFly 中的日志记录 的相关文章

随机推荐