code: func (hook *FluentHook) getTagAndDel(entry *logrus.Entry, data logrus.Fields) string {
  	// use static tag from
  	if hook.tag != nil {
  		return *hook.tag
  	}
  
  	tagField, ok := data[TagField]
  	if !ok {
  		return entry.Message
  	}
  
  	tag, ok := tagField.(string)
  	if !ok {
  		return entry.Message
  	}
  
  	// remove tag from data fields
  	delete(data, TagField)
  	return tag
  }
docs: // getTagAndDel extracts tag data from log entry and custom log fields.
  // 1. if tag is set in the hook, use it.
  // 2. if tag is set in custom fields, use it.
  // 3. if cannot find tag data, use entry.Message as tag.