package hprose.example.filterhandler.log; import hprose.common.FilterHandler; import hprose.common.HproseContext; import hprose.common.NextFilterHandler; import hprose.util.StrUtil; import hprose.util.concurrent.Promise; import java.nio.ByteBuffer; import java.util.logging.Level; import java.util.logging.Logger; public class LogHandler implements FilterHandler { private static final Logger logger = Logger.getLogger(LogHandler.class.getName()); @Override public Promise<ByteBuffer> handle(ByteBuffer request, HproseContext context, NextFilterHandler next) { logger.log(Level.INFO, StrUtil.toString(request)); Promise<ByteBuffer> response = next.handle(request, context); response.then((ByteBuffer data) -> logger.log(Level.INFO, StrUtil.toString(data))); return response; } }