Java源码示例:org.jboss.logmanager.config.LogContextConfiguration
示例1
private LoggingConfigurationUpdater getOrCreateUpdater() {
final LogContext logContext = LogContext.getLogContext();
final org.jboss.logmanager.Logger rootLogger = logContext.getLogger("");
LoggingConfigurationUpdater updater = rootLogger.getAttachment(KEY);
if (updater == null) {
final LogContextConfiguration logContextConfiguration = getOrCreateConfiguration(rootLogger);
if (logContextConfiguration == null) {
return null;
}
updater = new LoggingConfigurationUpdater(logContextConfiguration);
final LoggingConfigurationUpdater appearing = rootLogger.attachIfAbsent(KEY, updater);
if (appearing != null) {
updater = appearing;
}
}
return updater;
}
示例2
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
if (name.endsWith(DEFAULT_FORMATTER_SUFFIX)) {
throw LoggingLogger.ROOT_LOGGER.illegalFormatterName();
}
FormatterConfiguration configuration = logContextConfiguration.getFormatterConfiguration(name);
if (configuration == null) {
LoggingLogger.ROOT_LOGGER.tracef("Adding formatter '%s' at '%s'", name, context.getCurrentAddress());
configuration = logContextConfiguration.addFormatterConfiguration(null, PatternFormatter.class.getName(), name);
}
for (PropertyAttributeDefinition attribute : ATTRIBUTES) {
attribute.setPropertyValue(context, model, configuration);
}
}
示例3
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
FormatterConfiguration configuration = logContextConfiguration.getFormatterConfiguration(name);
final String className = CLASS.resolveModelAttribute(context, model).asString();
final ModelNode moduleNameNode = MODULE.resolveModelAttribute(context, model);
final String moduleName = moduleNameNode.isDefined() ? moduleNameNode.asString() : null;
final ModelNode properties = PROPERTIES.resolveModelAttribute(context, model);
if (configuration != null) {
if (!className.equals(configuration.getClassName()) || (moduleName == null ? configuration.getModuleName() != null : !moduleName.equals(configuration.getModuleName()))) {
LoggingLogger.ROOT_LOGGER.tracef("Replacing formatter '%s' at '%s'", name, context.getCurrentAddress());
logContextConfiguration.removeFormatterConfiguration(name);
configuration = logContextConfiguration.addFormatterConfiguration(moduleName, className, name);
}
} else {
LoggingLogger.ROOT_LOGGER.tracef("Adding formatter '%s' at '%s'", name, context.getCurrentAddress());
configuration = logContextConfiguration.addFormatterConfiguration(moduleName, className, name);
}
if (properties.isDefined()) {
for (Property property : properties.asPropertyList()) {
configuration.setPropertyValueString(property.getName(), property.getValue().asString());
}
}
}
示例4
@Override
protected boolean applyUpdate(final OperationContext context, final String attributeName, final String addressName, final ModelNode value, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final FormatterConfiguration configuration = logContextConfiguration.getFormatterConfiguration(addressName);
String modelClass = CLASS.resolveModelAttribute(context, context.readResource(PathAddress.EMPTY_ADDRESS).getModel()).asString();
if (PROPERTIES.getName().equals(attributeName) && configuration.getClassName().equals(modelClass)) {
if (value.isDefined()) {
for (Property property : value.asPropertyList()) {
configuration.setPropertyValueString(property.getName(), property.getValue().asString());
}
} else {
// Remove all current properties
final List<String> names = configuration.getPropertyNames();
for (String name : names) {
configuration.removeProperty(name);
}
}
}
// Writing a class attribute or module will require the previous formatter to be removed and a new formatter
// added. It's best to require a restart.
return CLASS.getName().equals(attributeName) || MODULE.getName().equals(attributeName);
}
示例5
@Override
protected OperationStepHandler additionalModelStep(final LogContextConfiguration logContextConfiguration) {
return new OperationStepHandler() {
@Override
public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException {
// If we don't require runtime steps to be executed we need to discard records on the delayed handler
if (!requiresRuntime(context)) {
HandlerConfiguration configuration = logContextConfiguration.getHandlerConfiguration(context.getCurrentAddressValue());
if (configuration != null) {
if (!(configuration.getInstance() instanceof DelayedHandler)) {
throw LoggingLogger.ROOT_LOGGER.invalidType(DelayedHandler.class, configuration.getInstance().getClass());
}
final DelayedHandler delayedHandler = (DelayedHandler) configuration.getInstance();
// Clear any previous handlers and close them, then add the new handler
final Handler[] current = delayedHandler.setHandlers(new Handler[] {new DiscardingHandler()});
if (current != null) {
for (Handler handler : current) {
handler.close();
}
}
}
}
}
};
}
示例6
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
HandlerConfiguration configuration = logContextConfiguration.getHandlerConfiguration(name);
if (configuration == null) {
configuration = logContextConfiguration.addHandlerConfiguration(null, DelayedHandler.class.getName(), name);
} else {
if (!(configuration.getInstance() instanceof DelayedHandler)) {
throw LoggingLogger.ROOT_LOGGER.invalidType(DelayedHandler.class, configuration.getInstance().getClass());
}
}
ENABLED.setPropertyValue(context, model, configuration);
final ModelNode filter = FILTER_SPEC.resolveModelAttribute(context, model);
if (filter.isDefined()) {
configuration.setFilter(filter.asString());
}
configuration.setLevel(LEVEL.resolvePropertyValue(context, model));
configuration.setFormatterName(NAMED_FORMATTER.resolveModelAttribute(context, model).asString());
}
示例7
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
final HandlerConfiguration configuration = logContextConfiguration.getHandlerConfiguration(name);
if (configuration == null) {
throw createOperationFailure(LoggingLogger.ROOT_LOGGER.handlerConfigurationNotFound(name));
}
// Get the handler name, uses the operation to get the single handler name being added
final String handlerName = HANDLER_NAME.resolveModelAttribute(context, operation).asString();
if (name.equals(handlerName)) {
throw createOperationFailure(LoggingLogger.ROOT_LOGGER.cannotAddHandlerToSelf(configuration.getName()));
}
if (configuration.getHandlerNames().contains(handlerName)) {
LoggingLogger.ROOT_LOGGER.tracef("Handler %s is already assigned to handler %s", handlerName, handlerName);
} else {
configuration.addHandlerName(handlerName);
}
}
示例8
/**
* Enables the handler if it was previously disabled.
* <p/>
* If it was not previously disable, nothing happens.
*
* @param configuration the log context configuration.
* @param handlerName the name of the handler to enable.
*/
private static void enableHandler(final LogContextConfiguration configuration, final String handlerName) {
final HandlerConfiguration handlerConfiguration = configuration.getHandlerConfiguration(handlerName);
try {
handlerConfiguration.setPropertyValueString("enabled", "true");
return;
} catch (IllegalArgumentException e) {
// do nothing
}
final Map<String, String> disableHandlers = configuration.getLogContext().getAttachment(CommonAttributes.ROOT_LOGGER_NAME, DISABLED_HANDLERS_KEY);
if (disableHandlers != null && disableHandlers.containsKey(handlerName)) {
synchronized (HANDLER_LOCK) {
final String filter = disableHandlers.get(handlerName);
handlerConfiguration.setFilter(filter);
disableHandlers.remove(handlerName);
}
}
}
示例9
/**
* Disables the handler if the handler exists and is not already disabled.
* <p/>
* If the handler does not exist or is already disabled nothing happens.
*
* @param configuration the log context configuration.
* @param handlerName the handler name to disable.
*/
private static void disableHandler(final LogContextConfiguration configuration, final String handlerName) {
final HandlerConfiguration handlerConfiguration = configuration.getHandlerConfiguration(handlerName);
try {
handlerConfiguration.setPropertyValueString("enabled", "false");
return;
} catch (IllegalArgumentException e) {
// do nothing
}
final Logger root = configuration.getLogContext().getLogger(CommonAttributes.ROOT_LOGGER_NAME);
Map<String, String> disableHandlers = root.getAttachment(DISABLED_HANDLERS_KEY);
synchronized (HANDLER_LOCK) {
if (disableHandlers == null) {
disableHandlers = new HashMap<String, String>();
final Map<String, String> current = root.attachIfAbsent(DISABLED_HANDLERS_KEY, disableHandlers);
if (current != null) {
disableHandlers = current;
}
}
if (!disableHandlers.containsKey(handlerName)) {
disableHandlers.put(handlerName, handlerConfiguration.getFilter());
handlerConfiguration.setFilter(CommonAttributes.DENY.getName());
}
}
}
示例10
@Override
protected boolean applyUpdate(final OperationContext context, final String attributeName, final String addressName, final ModelNode value, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String loggerName = getLogManagerLoggerName(addressName);
if (logContextConfiguration.getLoggerNames().contains(loggerName)) {
final LoggerConfiguration configuration = logContextConfiguration.getLoggerConfiguration(loggerName);
if (LEVEL.getName().equals(attributeName)) {
handleProperty(LEVEL, context, value, configuration, false);
} else if (FILTER.getName().equals(attributeName)) {
// Filter should be replaced by the filter-spec in the super class
handleProperty(FILTER_SPEC, context, value, configuration, false);
} else if (FILTER_SPEC.getName().equals(attributeName)) {
handleProperty(FILTER_SPEC, context, value, configuration, false);
} else if (HANDLERS.getName().equals(attributeName)) {
handleProperty(HANDLERS, context, value, configuration, false);
} else if (USE_PARENT_HANDLERS.getName().equals(attributeName)) {
handleProperty(USE_PARENT_HANDLERS, context, value, configuration, false);
}
}
return false;
}
示例11
@Override
protected boolean applyUpdate(final OperationContext context, final String attributeName, final String addressName, final ModelNode value, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final FilterConfiguration configuration = logContextConfiguration.getFilterConfiguration(addressName);
String modelClass = CLASS.resolveModelAttribute(context, context.readResource(PathAddress.EMPTY_ADDRESS).getModel()).asString();
if (PROPERTIES.getName().equals(attributeName) && configuration.getClassName().equals(modelClass)) {
if (value.isDefined()) {
for (Property property : value.asPropertyList()) {
configuration.setPropertyValueString(property.getName(), property.getValue().asString());
}
} else {
// Remove all current properties
final List<String> names = configuration.getPropertyNames();
for (String name : names) {
configuration.removeProperty(name);
}
}
}
// Writing a class attribute or module will require the previous filter to be removed and a new filter
// added. This also would require each logger or handler that has the filter assigned to reassign the
// filter. The configuration API does not handle this so a reload will be required.
return CLASS.getName().equals(attributeName) || MODULE.getName().equals(attributeName) ||
CONSTRUCTOR_PROPERTIES.getName().equals(attributeName);
}
示例12
void compare(final ModelNode currentModel, final ConfigurationPersistence config) throws OperationFailedException {
final LogContextConfiguration logContextConfig = config.getLogContextConfiguration();
final List<String> handlerNames = logContextConfig.getHandlerNames();
final List<String> modelHandlerNames = getHandlerNames(currentModel);
final List<String> missingConfigHandlers = new ArrayList<>(handlerNames);
missingConfigHandlers.removeAll(modelHandlerNames);
final List<String> missingModelHandlers = new ArrayList<>(modelHandlerNames);
missingModelHandlers.removeAll(handlerNames);
Assert.assertTrue("Configuration contains handlers not in the model: " + missingConfigHandlers, missingConfigHandlers.isEmpty());
Assert.assertTrue("Model contains handlers not in the configuration: " + missingModelHandlers, missingModelHandlers.isEmpty());
// Compare property values for the handlers
compareHandlers(logContextConfig, handlerNames, currentModel);
// Compare logger values
compareLoggers(logContextConfig, currentModel);
}
示例13
@Override
public void configure(InputStream inputStream) throws IOException {
this.propertyConfigurator.configure(inputStream);
LogContextConfiguration config = this.propertyConfigurator.getLogContextConfiguration();
config.getHandlerConfiguration("CONSOLE").setLevel("ALL");
LevelNode root = InitialLoggerManager.INSTANCE.getRoot();
apply(root, config);
config.commit();
}
示例14
protected void apply(LevelNode node, LogContextConfiguration config) {
if (!node.getName().equals("")) {
config.addLoggerConfiguration(node.getName()).setLevel(node.getLevel().toString());
}
for (LevelNode each : node.getChildren()) {
apply(each, config);
}
}
示例15
private static void clearLogContext() {
// Remove the configurator and clear the log context
final Configurator configurator = EMBEDDED_LOG_CONTEXT.getLogger("").detach(Configurator.ATTACHMENT_KEY);
// If this was a PropertyConfigurator we can use the LogContextConfiguration API to tear down the LogContext
if (configurator instanceof PropertyConfigurator) {
final LogContextConfiguration logContextConfiguration = ((PropertyConfigurator) configurator).getLogContextConfiguration();
clearLogContext(logContextConfiguration);
} else if (configurator instanceof LogContextConfiguration) {
clearLogContext((LogContextConfiguration) configurator);
} else {
// Remove all the handlers and close them as well as reset the loggers
final List<String> loggerNames = Collections.list(EMBEDDED_LOG_CONTEXT.getLoggerNames());
for (String name : loggerNames) {
final Logger logger = EMBEDDED_LOG_CONTEXT.getLoggerIfExists(name);
if (logger != null) {
final Handler[] handlers = logger.clearHandlers();
if (handlers != null) {
for (Handler handler : handlers) {
handler.close();
}
}
logger.setFilter(null);
logger.setUseParentFilters(false);
logger.setUseParentHandlers(true);
logger.setLevel(Level.INFO);
}
}
}
}
示例16
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
final FormatterConfiguration configuration = logContextConfiguration.getFormatterConfiguration(name);
if (configuration == null) {
throw createOperationFailure(LoggingLogger.ROOT_LOGGER.formatterNotFound(name));
}
logContextConfiguration.removeFormatterConfiguration(name);
}
示例17
@Override
protected boolean applyUpdate(final OperationContext context, final String attributeName, final String addressName, final ModelNode value, final LogContextConfiguration logContextConfiguration) {
final FormatterConfiguration configuration = logContextConfiguration.getFormatterConfiguration(addressName);
for (PropertyAttributeDefinition attribute : ATTRIBUTES) {
if (attribute.getName().equals(attributeName)) {
configuration.setPropertyValueString(attribute.getPropertyName(), value.asString());
break;
}
}
return false;
}
示例18
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
final FormatterConfiguration configuration = logContextConfiguration.getFormatterConfiguration(name);
if (configuration == null) {
throw createOperationFailure(LoggingLogger.ROOT_LOGGER.formatterNotFound(name));
}
logContextConfiguration.removeFormatterConfiguration(name);
}
示例19
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
final FormatterConfiguration configuration = logContextConfiguration.getFormatterConfiguration(name);
if (configuration == null) {
throw createOperationFailure(LoggingLogger.ROOT_LOGGER.formatterNotFound(name));
}
logContextConfiguration.removeFormatterConfiguration(name);
}
示例20
/**
* Registers the deployment resources needed.
*
* @param deploymentResourceSupport the deployment resource support
* @param service the service, which may be {@code null}, used to find the resource names that need to be registered
*/
public static void registerDeploymentResource(final DeploymentResourceSupport deploymentResourceSupport, final LoggingConfigurationService service) {
final PathElement base = PathElement.pathElement("configuration", service.getConfiguration());
deploymentResourceSupport.getDeploymentSubModel(LoggingExtension.SUBSYSTEM_NAME, base);
final LogContextConfiguration configuration = service.getValue();
// Register the child resources if the configuration is not null in cases where a log4j configuration was used
if (configuration != null) {
registerDeploymentResource(deploymentResourceSupport, base, HANDLER, configuration.getHandlerNames());
registerDeploymentResource(deploymentResourceSupport, base, LOGGER, configuration.getLoggerNames());
registerDeploymentResource(deploymentResourceSupport, base, FORMATTER, configuration.getFormatterNames());
registerDeploymentResource(deploymentResourceSupport, base, FILTER, configuration.getFilterNames());
registerDeploymentResource(deploymentResourceSupport, base, POJO, configuration.getPojoNames());
registerDeploymentResource(deploymentResourceSupport, base, ERROR_MANAGER, configuration.getErrorManagerNames());
}
}
示例21
@SuppressWarnings("deprecation")
@Override
protected boolean applyUpdate(final OperationContext context, final String attributeName, final String addressName,
final ModelNode value, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
// First get the handler configuration.
final HandlerConfiguration configuration = logContextConfiguration.getHandlerConfiguration(addressName);
if (configuration == null) {
throw createOperationFailure(LoggingLogger.ROOT_LOGGER.handlerConfigurationNotFound(addressName));
}
// Handle writing the attribute
if (LEVEL.getName().equals(attributeName)) {
configuration.setLevel(value.asString());
} else if (NAMED_FORMATTER.getName().equals(attributeName)) {
if (value.isDefined()) {
configuration.setFormatterName(value.asString());
} else {
configuration.setFormatterName(null);
}
} else if (FILTER_SPEC.getName().equals(attributeName)) {
if (value.isDefined()) {
configuration.setFilter(value.asString());
} else {
configuration.setFilter(null);
}
}
return Logging.requiresReload(getAttributeDefinition(attributeName).getFlags());
}
示例22
@Override
public final void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
final HandlerConfiguration configuration = logContextConfiguration.getHandlerConfiguration(name);
if (configuration == null) {
throw createOperationFailure(LoggingLogger.ROOT_LOGGER.handlerConfigurationNotFound(name));
}
final AttributeDefinition[] attributes = getAttributes();
if (attributes != null) {
boolean restartRequired = false;
boolean reloadRequired = false;
for (AttributeDefinition attribute : attributes) {
// Only update if the attribute is on the operation
if (operation.has(attribute.getName())) {
handleProperty(attribute, context, model, logContextConfiguration, configuration);
restartRequired = restartRequired || Logging.requiresRestart(attribute.getFlags());
reloadRequired = reloadRequired || Logging.requiresReload(attribute.getFlags());
}
}
if (restartRequired) {
context.restartRequired();
} else if (reloadRequired) {
context.reloadRequired();
}
}
// It's important that properties are written in the correct order, reorder the properties if
// needed before the commit.
addOrderPropertiesStep(context, propertySorter, configuration);
}
示例23
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
final HandlerConfiguration configuration = logContextConfiguration.getHandlerConfiguration(name);
if (configuration == null) {
throw createOperationFailure(LoggingLogger.ROOT_LOGGER.handlerConfigurationNotFound(name));
}
// Uses the operation to get the single handler name being added
configuration.removeHandlerName(HANDLER_NAME.resolveModelAttribute(context, operation).asString());
}
示例24
@Override
public final void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String loggerName = getLogManagerLoggerName(context.getCurrentAddressValue());
LoggerConfiguration configuration = logContextConfiguration.getLoggerConfiguration(loggerName);
if (configuration == null) {
throw createOperationFailure(LoggingLogger.ROOT_LOGGER.loggerConfigurationNotFound(loggerName));
}
performRuntime(context, operation, configuration, loggerName, model);
}
示例25
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
final String loggerName = getLogManagerLoggerName(name);
LoggerConfiguration configuration = logContextConfiguration.getLoggerConfiguration(loggerName);
if (configuration == null) {
LoggingLogger.ROOT_LOGGER.tracef("Adding logger '%s' at '%s'", name, context.getCurrentAddress());
configuration = logContextConfiguration.addLoggerConfiguration(loggerName);
}
for (AttributeDefinition attribute : attributes) {
handleProperty(attribute, context, model, configuration);
}
}
示例26
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
// Disable the logger before removing it
final String loggerName = getLogManagerLoggerName(context.getCurrentAddressValue());
final LoggerConfiguration configuration = logContextConfiguration.getLoggerConfiguration(loggerName);
if (configuration == null) {
throw createOperationFailure(LoggingLogger.ROOT_LOGGER.loggerNotFound(loggerName));
}
logContextConfiguration.removeLoggerConfiguration(loggerName);
}
示例27
@Override
protected void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model) throws OperationFailedException {
final ConfigurationPersistence configurationPersistence = getOrCreateConfigurationPersistence(context);
final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration();
performRuntime(context, operation, model, logContextConfiguration);
addCommitStep(context, configurationPersistence);
final OperationStepHandler afterCommit = afterCommit(logContextConfiguration, model);
if (afterCommit != null) {
context.addStep(afterCommit, Stage.RUNTIME);
}
}
示例28
@Override
protected void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model) throws OperationFailedException {
final ConfigurationPersistence configurationPersistence = getOrCreateConfigurationPersistence(context);
final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration();
performRuntime(context, operation, model, logContextConfiguration);
addCommitStep(context, configurationPersistence);
}
示例29
@Override
protected final boolean applyUpdateToRuntime(final OperationContext context, final ModelNode operation, final String attributeName, final ModelNode resolvedValue, final ModelNode currentValue, final HandbackHolder<ConfigurationPersistence> handbackHolder) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
final ConfigurationPersistence configurationPersistence = getOrCreateConfigurationPersistence(context);
final LogContextConfiguration logContextConfiguration = configurationPersistence.getLogContextConfiguration();
handbackHolder.setHandback(configurationPersistence);
final boolean restartRequired = applyUpdate(context, attributeName, name, resolvedValue, logContextConfiguration);
addCommitStep(context, configurationPersistence);
final OperationStepHandler afterCommit = afterCommit(logContextConfiguration, attributeName, resolvedValue, currentValue);
if (afterCommit != null && !restartRequired) {
context.addStep(afterCommit, Stage.RUNTIME);
}
return restartRequired;
}
示例30
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
final FilterConfiguration configuration = logContextConfiguration.getFilterConfiguration(name);
if (configuration == null) {
throw LoggingLogger.ROOT_LOGGER.filterNotFound(name);
}
logContextConfiguration.removeFilterConfiguration(name);
}