default AccessLogWriter andThen(AccessLogWriter after) {
        requireNonNull(after, "after");
        return new AccessLogWriter() {
            @Override
            public void log(RequestLog log) {
                try {
                    AccessLogWriter.this.log(log);
                } finally {
                    after.log(log);
                }
            }

            @Override
            public CompletableFuture<Void> shutdown() {
                final CompletableFuture<Void> f1;
                final CompletableFuture<Void> f2;
                try {
                    f1 = AccessLogWriter.this.shutdown();
                } finally {
                    f2 = after.shutdown();
                }
                return CompletableFuture.allOf(f1, f2);
            }
        };
    }
Returns a new {@link AccessLogWriter} which combines two {@link AccessLogWriter}s.
core/src/main/java/com/linecorp/armeria/server/logging/AccessLogWriter.java