code: static Log create(File outputFile) {
      try {
        return new Log(
                new PrintStream(
                   outputFile.getName().endsWith(".gz") ?
                     new GZIPOutputStream(new FileOutputStream(outputFile))
                   : new FileOutputStream(outputFile)),
                false);  
      } 
      catch (IOException e) {
        throw new InvalidOperationException("I/O error", e);
      }
    }
docs: Creator method (file variant).
  @param outputFile Output file.
  @return A new log instance.