public boolean removeHandlerName(final String name) { final LogContextConfigurationImpl configuration = getConfiguration(); if (!handlerNames.contains(name)) { return false; } final int index = handlerNames.indexOf(name); handlerNames.remove(index); configuration.addAction(new ConfigAction<Void>() { public Void validate() throws IllegalArgumentException { return null; } public void applyPreCreate(final Void param) { } public void applyPostCreate(final Void param) { final Map<String, Handler> handlerRefs = configuration.getHandlerRefs(); final Map<String, Logger> loggerRefs = configuration.getLoggerRefs(); final Logger logger = (Logger) loggerRefs.get(getName()); logger.removeHandler(handlerRefs.get(name)); } public void rollback() { handlerNames.add(index, name); } }); return true; }
public boolean addHandlerName(final String name) { final LogContextConfigurationImpl configuration = getConfiguration(); if (handlerNames.contains(name)) { return false; } handlerNames.add(name); configuration.addAction(new ConfigAction<Void>() { public Void validate() throws IllegalArgumentException { if (configuration.getHandlerConfiguration(name) == null) { throw new IllegalArgumentException(String.format("Handler \"%s\" is not found", name)); } return null; } public void applyPreCreate(final Void param) { } public void applyPostCreate(final Void param) { final Map<String, Handler> handlerRefs = configuration.getHandlerRefs(); final Map<String, Logger> loggerRefs = configuration.getLoggerRefs(); final Logger logger = loggerRefs.get(getName()); logger.addHandler(handlerRefs.get(name)); } public void rollback() { handlerNames.remove(name); } }); return true; }
handlerNames.addAll(strings); final String[] stringsArray = strings.toArray(new String[strings.size()]); final LogContextConfigurationImpl configuration = getConfiguration(); configuration.addAction(new ConfigAction<Void>() { public Void validate() throws IllegalArgumentException {
private void setLevelValueExpression(final ValueExpression<String> expression) { final ValueExpression oldLevel = this.level; this.level = expression; final String resolvedLevel = expression.getResolvedValue(); final LogContextConfigurationImpl configuration = getConfiguration(); configuration.addAction(new ConfigAction<Level>() { public Level validate() throws IllegalArgumentException { return resolvedLevel == null ? null : configuration.getLogContext().getLevelForName(resolvedLevel); } public void applyPreCreate(final Level param) { } public void applyPostCreate(final Level param) { configuration.getLoggerRefs().get(getName()).setLevel(param); } public void rollback() { LoggerConfigurationImpl.this.level = oldLevel; } }); }
private void setUseParentFilters(final ValueExpression<Boolean> valueExpression) { final ValueExpression<Boolean> oldUseParentFilters = this.useParentFilters; this.useParentFilters = valueExpression; final Boolean useParentFilters = valueExpression.getResolvedValue(); final LogContextConfigurationImpl configuration = getConfiguration(); configuration.addAction(new ConfigAction<Void>() { public Void validate() throws IllegalArgumentException { return null; } public void applyPreCreate(final Void param) { } public void applyPostCreate(final Void param) { if (useParentFilters != null) configuration.getLoggerRefs().get(getName()).setUseParentFilters(useParentFilters); } public void rollback() { LoggerConfigurationImpl.this.useParentFilters = oldUseParentFilters; } }); }
private void setFilter(final ValueExpression<String> valueExpression) { final ValueExpression<String> oldFilterName = this.filter; this.filter = valueExpression; final String filterName = valueExpression.getResolvedValue(); final LogContextConfigurationImpl configuration = getConfiguration(); configuration.addAction(new ConfigAction<ObjectProducer>() { public ObjectProducer validate() throws IllegalArgumentException { return configuration.resolveFilter(filterName); } public void applyPreCreate(final ObjectProducer param) { } public void applyPostCreate(final ObjectProducer param) { configuration.getLoggerRefs().get(getName()).setFilter((Filter) param.getObject()); } public void rollback() { filter = oldFilterName; } }); }
private void setUseParentHandlers(final ValueExpression<Boolean> valueExpression) { final ValueExpression<Boolean> oldUseParentHandlers = this.useParentHandlers; this.useParentHandlers = valueExpression; final Boolean useParentHandlers = valueExpression.getResolvedValue(); final LogContextConfigurationImpl configuration = getConfiguration(); configuration.addAction(new ConfigAction<Void>() { public Void validate() throws IllegalArgumentException { return null; } public void applyPreCreate(final Void param) { } public void applyPostCreate(final Void param) { if (useParentHandlers != null) configuration.getLoggerRefs().get(getName()).setUseParentHandlers(useParentHandlers.booleanValue()); } public void rollback() { LoggerConfigurationImpl.this.useParentHandlers = oldUseParentHandlers; } }); }