@Override public void activateAsync(List<Object[]> args) { Map<String, Appender> appenders = logger.getAppenders(); if (appenders == null) { throw new IllegalStateException("Activate async appender failed, no appender exist."); } AppenderRef[] refs = new AppenderRef[appenders.size()]; int i = 0; for (Appender appender : appenders.values()) { configuration.addAppender(appender); refs[i++] = AppenderRef.createAppenderRef(appender.getName(), null, null); } AsyncAppender.Builder builder = AsyncAppender.newBuilder() .setName(productName + "." + logger.getName() + ".AsyncAppender") .setConfiguration(configuration) .setAppenderRefs(refs) .setBlockingQueueFactory(ArrayBlockingQueueFactory.<LogEvent>createFactory()); invokeMethod(builder, args); AsyncAppender asyncAppender = builder.build(); asyncAppender.start(); removeAllAppenders(logger); logger.addAppender(asyncAppender); setProductName(productName); }
@PluginFactory public static <E> ArrayBlockingQueueFactory<E> createFactory() { return new ArrayBlockingQueueFactory<>(); } }
shutdownTimeout, config, includeLocation, new ArrayBlockingQueueFactory<LogEvent>());
@Override public void activateAsync(List<Object[]> args) { Map<String, Appender> appenders = logger.getAppenders(); if (appenders == null) { throw new IllegalStateException("Activate async appender failed, no appender exist."); } AppenderRef[] refs = new AppenderRef[appenders.size()]; int i = 0; for (Appender appender : appenders.values()) { configuration.addAppender(appender); refs[i++] = AppenderRef.createAppenderRef(appender.getName(), null, null); } AsyncAppender.Builder builder = AsyncAppender.newBuilder() .setName(productName + "." + logger.getName() + ".AsyncAppender") .setConfiguration(configuration) .setAppenderRefs(refs) .setBlockingQueueFactory(ArrayBlockingQueueFactory.<LogEvent>createFactory()); invokeMethod(builder, args); AsyncAppender asyncAppender = builder.build(); asyncAppender.start(); removeAllAppenders(logger); logger.addAppender(asyncAppender); setProductName(productName); }
@Override public void activateAsync(List<Object[]> args) { Map<String, Appender> appenders = logger.getAppenders(); if (appenders == null) { throw new IllegalStateException("Activate async appender failed, no appender exist."); } AppenderRef[] refs = new AppenderRef[appenders.size()]; int i = 0; for (Appender appender : appenders.values()) { configuration.addAppender(appender); refs[i++] = AppenderRef.createAppenderRef(appender.getName(), null, null); } AsyncAppender.Builder builder = AsyncAppender.newBuilder() .setName(productName + "." + logger.getName() + ".AsyncAppender") .setConfiguration(configuration) .setAppenderRefs(refs) .setBlockingQueueFactory(ArrayBlockingQueueFactory.<LogEvent>createFactory()); invokeMethod(builder, args); AsyncAppender asyncAppender = builder.build(); asyncAppender.start(); removeAllAppenders(logger); logger.addAppender(asyncAppender); setProductName(productName); }
@Override public void activateAsync(List<Object[]> args) { Map<String, Appender> appenders = logger.getAppenders(); if (appenders == null) { throw new IllegalStateException("Activate async appender failed, no appender exist."); } AppenderRef[] refs = new AppenderRef[appenders.size()]; int i = 0; for (Appender appender : appenders.values()) { configuration.addAppender(appender); refs[i++] = AppenderRef.createAppenderRef(appender.getName(), null, null); } AsyncAppender.Builder builder = AsyncAppender.newBuilder() .setName(productName + "." + logger.getName() + ".AsyncAppender") .setConfiguration(configuration) .setAppenderRefs(refs) .setBlockingQueueFactory(ArrayBlockingQueueFactory.<LogEvent>createFactory()); invokeMethod(builder, args); AsyncAppender asyncAppender = builder.build(); asyncAppender.start(); removeAllAppenders(logger); logger.addAppender(asyncAppender); setProductName(productName); }