code: func (logger *Logger) newLineData(logClass LogClass, message string) *LineData {
  	ld := &LineData{
  		Message:   message,
  		Class:     logClass,
  		TimeStamp: time.Now(),
  	}
  
  	ld.Fields = make(map[string]interface{}, len(logger.Fields))
  	for k, v := range logger.Fields {
  		ld.Fields[k] = v
  	}
  
  	packageFilenameLine(ld, 4)
  	if logClass == ERROR {
  		ld.Fields["stack"] = gatherStack()
  	}
  	return ld
  }
docs: // newLineData creates the struct that wraps a log message and will capture the
  // source of the logging message from the stack.