func (w *Writer) SetLevels(levels map[string]string) {
	w.mutex.Lock()
	w.setLevels(levels)
	w.mutex.Unlock()
}
func (w *Writer) SetLevels(levels map[string]string) {
	w.mutex.Lock()
	w.setLevels(levels)
	w.mutex.Unlock()
}
// SetLevels sets a list of levels and their associated actions.
// It replaces any existing level/effect mapping. If an unknown
// effect is supplied, a message is logged.