code: @Override
    public void open() {
      try {
        if (this.isOpened() == false) {
          System.out.println(formatVersionInfo() + " Opening ...");
  
          InetSocketAddress inetSocketAddress = new InetSocketAddress(this.hostName, this.portNo);
          this.pizzaConnection = new Socket();
          this.pizzaConnection.connect(inetSocketAddress, TIMEOUT);
          this.setBufferedOutputStream(new BufferedOutputStream(this.pizzaConnection.getOutputStream(), this.getBufferSize()));
          this.setTracePrintStream(new TracePrintStream(this.getBufferedOutputStream(), this.getThreadMap()));
  
          sendUserCredentials();
          this.getTracePrintStream().printf("--> TraceLog opened!%n");
          this.getTracePrintStream().printf("    Time     : %tc%n", new Date());
          this.getTracePrintStream().printf("    Bufsize  : %d%n", this.getBufferSize());
          this.getTracePrintStream().printf("    Autoflush: %b%n%n", this.isAutoflush());
  
          this.setOpened(true);
        }
        else {
          System.err.println("WARNING: Tracelog is opened already.");
        }
      }
      catch (IOException ex) {
        ex.printStackTrace(System.err);
      }
    }
docs: Opens the associated {@link TracePrintStream} by wrapping the socket streams.