| package logger | |
| func (m *Message) copy() *Message { | |
| msg := &Message{ | |
| Source: m.Source, | |
| Partial: m.Partial, | |
| Timestamp: m.Timestamp, | |
| } | |
| if m.Attrs != nil { | |
| msg.Attrs = make(map[string]string, len(m.Attrs)) | |
| for k, v := range m.Attrs { | |
| msg.Attrs[k] = v | |
| } | |
| } | |
| msg.Line = append(make([]byte, 0, len(m.Line)), m.Line...) | |
| return msg | |
| } |