glog.go
func (m *ModuleSpec) Set(value string) error {
	var filter []modulePat
	for _, pat := range strings.Split(value, ",") {
		pattern, v, err := parseFilter(pat)
		if err != nil {
			return err
		}
		if v == 0 {
			continue
		}
		// TODO: check syntax of filter?
		filter = append(filter, modulePat{pattern, isLiteralGlob(pattern), Level(v)})
	}
	m.filter = filter
	return nil
}
func (m *ModuleSpec) Set(value string) error {
	var filter []modulePat
	for _, pat := range strings.Split(value, ",") {
		pattern, v, err := parseFilter(pat)
		if err != nil {
			return err
		}
		if v == 0 {
			continue
		}
		// TODO: check syntax of filter?
		filter = append(filter, modulePat{pattern, isLiteralGlob(pattern), Level(v)})
	}
	m.filter = filter
	return nil
}
// Syntax: recordio=2,file=1,gfs*=3