@Override
 public int read(byte[] b) throws IOException {
   int read = in.read(b);
   logBuf.log("read", b, 0, read);
   return read;
 }
 @Override
 public int read(byte[] b, int off, int len) throws IOException {
   int read = in.read(b, off, len);
   logBuf.log("read", b, off, read);
   return read;
 }
 /*
  * (non-Javadoc)
  *
  * @see java.io.InputStream#read()
  */
 @Override
 public int read() throws IOException {
   int read = in.read();
   logBuf.log("read", (char) read);
   return read;
 }