public LoggerConfiguration addLoggerConfiguration(final String loggerName) { if (loggers.containsKey(loggerName)) { throw new IllegalArgumentException(String.format("Logger \"%s\" already exists", loggerName)); } final LoggerConfigurationImpl loggerConfiguration = new LoggerConfigurationImpl(loggerName, this); loggers.put(loggerName, loggerConfiguration); transactionState.addLast(new ConfigAction<Logger>() { public Logger validate() throws IllegalArgumentException { return logContext.getLogger(loggerName); } public void applyPreCreate(final Logger param) { loggerRefs.put(loggerName, param); } public void applyPostCreate(Logger param) { } public void rollback() { loggers.remove(loggerName); } }); return loggerConfiguration; }
public String getFilter() { return getFilterValueExpression().getResolvedValue(); }
public String getLevel() { return getLevelValueExpression().getResolvedValue(); }
public boolean removeLoggerConfiguration(final String loggerName) { final LoggerConfigurationImpl removed = loggers.remove(loggerName); if (removed != null) { transactionState.addLast(removed.getRemoveAction()); removed.setRemoved(); return true; } else { return false; } }
public void applyPostCreate(final Void param) { if (useParentHandlers != null) configuration.getLoggerRefs().get(getName()).setUseParentHandlers(useParentHandlers.booleanValue()); }
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; }
@Override public void setFilter(final String expression, final String value) { setFilter(new ValueExpressionImpl<String>(expression, value)); }
@Override public Boolean getUseParentFilters() { return getUseParentFiltersValueExpression().getResolvedValue(); }
public Boolean getUseParentHandlers() { return getUseParentHandlersValueExpression().getResolvedValue(); }
@SuppressWarnings({"unchecked"}) public void rollback() { if (refLogger != null) { refLogger.setFilter(filter); if (handlers != null) refLogger.setHandlers(handlers); refLogger.setLevel(level); refLogger.setUseParentHandlers(useParentHandlers); configs.put(name, LoggerConfigurationImpl.this); } clearRemoved(); } };
public void applyPostCreate(final Void param) { if (useParentFilters != null) configuration.getLoggerRefs().get(getName()).setUseParentFilters(useParentFilters); }
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 void setFilter(final String filter) { setFilter(ValueExpression.STRING_RESOLVER.resolve(filter)); }
public void applyPostCreate(final Level param) { configuration.getLoggerRefs().get(getName()).setLevel(param); }
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 {
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)); }
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; } }); }
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)); }
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; } }); }
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()); final int length = stringsArray.length; final Handler[] handlers = new Handler[length]; for (int i = 0; i < length; i++) { handlers[i] = handlerRefs.get(stringsArray[i]); } logger.setHandlers(handlers); }