2021-06-11 08:42:32 -07:00
|
|
|
package common
|
|
|
|
|
|
|
|
import (
|
|
|
|
"flag"
|
|
|
|
"strings"
|
|
|
|
"sync"
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
selectorVar string
|
|
|
|
selector []string // Hashing fields
|
2022-10-08 15:29:06 -07:00
|
|
|
selectorTag string // Hashing fields
|
2021-06-11 08:42:32 -07:00
|
|
|
|
|
|
|
selectorDeclared bool
|
|
|
|
selectorDeclaredLock = &sync.Mutex{}
|
|
|
|
)
|
|
|
|
|
|
|
|
func SelectorFlag() {
|
|
|
|
selectorDeclaredLock.Lock()
|
|
|
|
defer selectorDeclaredLock.Unlock()
|
|
|
|
|
|
|
|
if selectorDeclared {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
selectorDeclared = true
|
|
|
|
flag.StringVar(&selectorVar, "format.selector", "", "List of fields to do keep in output")
|
2022-10-08 15:29:06 -07:00
|
|
|
flag.StringVar(&selectorTag, "format.tag", "", "Use format tag")
|
2021-06-11 08:42:32 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func ManualSelectorInit() error {
|
|
|
|
if selectorVar == "" {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
selector = strings.Split(selectorVar, ",")
|
|
|
|
return nil
|
|
|
|
}
|