jboss 使用 jboss-cli 时已分配日志处理程序

jboss Log handler is already assigned when working wuth jboss-cli

4-eap,我想自动化独立实例配置是一个脚本文件 oassed 到 jboss-cli 与推荐:

jboss-cli.sh -c --file="my file"

在这个文件中,我有一个处理程序和一个记录器,我想在其中添加,就像这样:

if (outcome!=success) of /subsystem=logging/periodic-rotating-file-handler=IDTS_FILE_HANDLER:read-resource
echo "adding Log Handler"
/subsystem=logging/periodic-rotating-file-handler=IDTS_FILE_HANDLER:add(file={"path"=>"idts/j/log/idts.log","relative-to"=>"var.opt"},formatter="%d{HH:mm:ss,SSS} %-5p %c{2} [%X{USER}][%X{OPERATION}] %s%E%n",suffix=".yyyy-MM-dd")
else
echo "Log Handler already present"
end-if

if (outcome!=success) of /subsystem=logging/logger=it.idts:read-resource
echo "adding logger"
/subsystem=logging/logger=it.idts:add   
/subsystem=logging/logger=it.idts:write-attribute(name="level", value="DEBUG")
/subsystem=logging/logger=it.idts:assign-handler(name="IDTS_FILE_HANDLER")
reload
else
    echo "logger already present"
end-if

我得到这个输出:

"adding Log Handler"
"adding logger"
if request failed: {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-3" => "JBAS011536: Handler IDTS_FILE_HANDLER is already assigned."}}

它告诉我已经分配了处理程序,但这不是真的, 但是记录器不在我的文件中(我从一个基础 standalone.xml 开始)我不知道该怎么做。

谢谢

添加操作的方式存在错误。有关详细信息,请参阅 https://issues.jboss.org/browse/WFCORE-37

最简单的解决方法是将 handler 参数添加到 add 操作。

/subsystem=logging/logger=it.idts:add(handlers=["IDTS_FILE_HANDLER"], level=DEBUG)

事实上,这也摆脱了额外的写入参数。

FWIW 添加新记录器或文件处理程序不需要 reload 命令。这些在运行时更新。