@Override
  public int readLine(CharArrayBuffer buffer) throws IOException {
    int result;
    int pos;

    result = super.readLine(buffer);
    if (result >= 0) {
      pos = buffer.length() - result;
      logger.log(new String(buffer.buffer(), pos, result));
      logger.log("\r\n");
    }
    return result;
  }
  @Override
  public int read() throws IOException {
    int b;

    b = super.read();
    if (b != -1) {
      logger.log((byte) b);
    }
    return b;
  }
  @Override
  public int read(byte[] bytes) throws IOException {
    int result;

    result = super.read(bytes);
    if (result != -1) {
      logger.log(bytes, 0, result);
    }
    return result;
  }
  @Override
  public String readLine() throws IOException {
    String result;

    result = super.readLine();
    if (result != null) {
      logger.log(result);
      logger.log("\r\n");
    }
    return result;
  }