如何在全球范围内启用JBossWS的日志记录器?

如何在全球范围内启用JBossWS的日志记录器?,jboss,wildfly,wildfly-8,jbossws,Jboss,Wildfly,Wildfly 8,Jbossws,我使用的是Wildfly 8.1.0.Final 我配置了RecordingServerHandler,它确实会被web服务的消息触发。问题是,日志记录器在默认情况下是禁用的 报告说: 默认处理器在创建时不处于录制模式,因此需要通过其MBean接口将其切换到录制模式。请参阅jmx控制台中的录制标志 在运行时为每个端点逐个启用它们是不行的,我需要在开发时全局启用它们 同一篇文章说: 记录器可以在堆栈bean配置中配置 什么是堆栈bean配置?指定的WSLogRecorder名称是否意味着此配置使用

我使用的是Wildfly 8.1.0.Final

我配置了RecordingServerHandler,它确实会被web服务的消息触发。问题是,日志记录器在默认情况下是禁用的

报告说:

默认处理器在创建时不处于录制模式,因此需要通过其MBean接口将其切换到录制模式。请参阅jmx控制台中的录制标志

在运行时为每个端点逐个启用它们是不行的,我需要在开发时全局启用它们

同一篇文章说:

记录器可以在堆栈bean配置中配置


什么是堆栈bean配置?指定的WSLogRecorder名称是否意味着此配置使用该名称创建了另一个非默认的日志记录器,并且我需要以某种方式将其添加到所有端点?

最终在部署结束时通过JMX启用了它们

import java.lang.management.ManagementFactory;
import java.util.Set;

import javax.management.Attribute;
import javax.management.MBeanServer;
import javax.management.ObjectName;

/* ... */

MBeanServer server = ManagementFactory.getPlatformMBeanServer();
Set<ObjectName> recorderNames = server.queryNames(
        new ObjectName("jboss.ws:recordProcessor=LogRecorder,*"), null);
for (ObjectName recorderName : recorderNames) {
    server.setAttribute(recorderName, new Attribute("Recording", true));
}
import java.lang.management.ManagementFactory;
import java.util.Set;

import javax.management.Attribute;
import javax.management.MBeanServer;
import javax.management.ObjectName;

/* ... */

MBeanServer server = ManagementFactory.getPlatformMBeanServer();
Set<ObjectName> recorderNames = server.queryNames(
        new ObjectName("jboss.ws:recordProcessor=LogRecorder,*"), null);
for (ObjectName recorderName : recorderNames) {
    server.setAttribute(recorderName, new Attribute("Recording", true));
}