首页 > 解决方案 > Wildfly 不允许在命名格式化程序中进行变量替换

问题描述

使用最新的 Wildfly(版本 18.0.0.Final),如果我尝试为这样的变量替换named-formatter(在 中standalone.xml):

    <subsystem xmlns="urn:jboss:domain:logging:8.0">
        <console-handler name="CONSOLE">
            <level name="DEBUG"/>
            <formatter>
                <named-formatter name="${some.property:COLOR-PATTERN}"/>
            </formatter>
        </console-handler>

在启动时,我收到一个如下所示的致命错误:

ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0362: Capabilities required by resource '/subsystem=logging/console-handler=CONSOLE' are not available:
    org.wildfly.logging.formatter.${some.property:COLOR-PATTERN}; Possible registration points for this capability: 
        /subsystem=logging/pattern-formatter=*
        /subsystem=logging/custom-formatter=*
        /subsystem=logging/json-formatter=*
        /subsystem=logging/xml-formatter=*
        /subsystem=logging/logging-profile=*/pattern-formatter=*
        /subsystem=logging/logging-profile=*/custom-formatter=*
        /subsystem=logging/logging-profile=*/json-formatter=*
        /subsystem=logging/logging-profile=*/xml-formatter=*

我已经向 jboss 提交了一个错误,但想知道是否有人遇到过这个问题并有一个很好的解决方法。我真的需要它是可配置的,即我不能在named-formatter这里使用文字名称。

标签: loggingjbosswildfly

解决方案


目前该named-formatter属性不允许表达式。这是一个有意的决定,因为启动时间记录不支持这一点。出于某些原因,请参阅WFCORE-157 。


推荐阅读