func (l *Logger) AddData(key string, value interface{}) {
	if err := isKeyValid(key); err != nil {
		panic(err)
	}
	mu.Lock()
	l.data = append(l.data, KVPair{Key: key, Value: filterDataValue(value)})
	defer mu.Unlock()
}
AddData adds a key-value pair that will be printed along with all messages
sent with this Logger.
package say
import "fmt"
type Data []KVPair
type KVPair struct {
	Key   string
	Value interface{}
}
func (l *Logger) SetData(data ...interface{}) {
	mu.Lock()
	l.data = l.data[:0]
	err := l.data.appendData(data)
	mu.Unlock()
	if err != nil {
		panic(err)
	}
}
func SetData(data ...interface{}) {
	defaultLogger.SetData(data...)
}