code: func NewWriter(addr string) (*Writer, error) {
  	var err error
  	w := new(Writer)
  	w.CompressionLevel = flate.BestSpeed
  
  	if w.conn, err = net.Dial("udp", addr); err != nil {
  		return nil, err
  	}
  	if w.hostname, err = os.Hostname(); err != nil {
  		return nil, err
  	}
  
  	w.Facility = path.Base(os.Args[0])
  
  	return w, nil
  }
docs: // New returns a new GELF Writer.  This writer can be used to send the
  // output of the standard Go log functions to a central GELF server by
  // passing it to log.SetOutput()