func (l *Logger) Setup(setup func(*Logger), names ...string) {
	l.lock.Lock()
	defer l.lock.Unlock()

	if len(names) == 1 && names[0] == AllLoggers {
		setup(l)
		for _, child := range l.children {
			child.Setup(setup, AllLoggers)
		}
	} else {
		child := l
		for _, name := range names {
			child = child.getLogger(name)
		}
		setup(child)
	}
}
// Use Setup to update Logger and its children's features
Use Setup to update Logger and its children's features
// Use Setup to update Logger and its children ' s features
func (l *Logger) Setup(setup func(*Logger), names ...string) {
	l.lock.Lock()
	defer l.lock.Unlock()
	if len(names) == 1 && names[0] == AllLoggers {
		setup(l)
		for _, child := range l.children {
			child.Setup(setup, AllLoggers)
		}
	} else {
		child := l
		for _, name := range names {
			child = child.getLogger(name)
		}
		setup(child)
	}
}
func ( l * Logger ) Setup ( setup func ( * Logger ) , names ... string ) { l . lock . Lock ( ) defer l . lock . Unlock ( ) if len ( names ) == 1 && names [ 0 ] == AllLoggers { setup ( l ) for _ , child := range l . children { child . Setup ( setup , AllLoggers ) } } else { child := l for _ , name := range names { child = child . getLogger ( name ) } setup ( child ) } }
Use Setup to update Logger and its children's features
Use Setup to update Logger and its children ' s features