func New(config *SurfacerConf, l *logger.Logger) (*FileSurfacer, error) {
	s := &FileSurfacer{
		c: config,
		l: l,
	}

	// Get a unique id from the nano timestamp. This id is
	// used to uniquely identify the data strings on the
	// serial port. Only requirement for this id is that it
	// should only go up for a particular instance. We don't
	// call time.Now().UnixNano() for each string that we
	// print as it's an expensive call and we don't really
	// make use of its value.
	id := time.Now().UnixNano()

	return s, s.init(id)
}
// New initializes a FileSurfacer for serializing data into a file (usually set
// as a GCE instance's serial port). This Surfacer does not utilize the Google
// cloud logger because it is unlikely to fail reportably after the call to
// New.
New initializes a FileSurfacer for serializing data into a file (usually set
as a GCE instance's serial port). This Surfacer does not utilize the Google
cloud logger because it is unlikely to fail reportably after the call to
New.
// New initializes a FileSurfacer for serializing data into a file ( usually set // as a GCE instance ' s serial port ) . This Surfacer does not utilize the Google // cloud logger because it is unlikely to fail reportably after the call to // New .
func New(config *SurfacerConf, l *logger.Logger) (*FileSurfacer, error) {
	s := &FileSurfacer{
		c: config,
		l: l,
	}
	id := time.Now().UnixNano()
	return s, s.init(id)
}
func New ( config * SurfacerConf , l * logger . Logger ) ( * FileSurfacer , error ) { s := & FileSurfacer { c : config , l : l , } id := time . Now ( ) . UnixNano ( ) return s , s . init ( id ) }
New initializes a FileSurfacer for serializing data into a file (usually set
as a GCE instance's serial port).
New initializes a FileSurfacer for serializing data into a file ( usually set as a GCE instance ' s serial port ) .
// Get a unique id from the nano timestamp. This id is // used to uniquely identify the data strings on the // serial port. Only requirement for this id is that it // should only go up for a particular instance. We don't // call time.Now().UnixNano() for each string that we // print as it's an expensive call and we don't really // make use of its value.