Files
libagent/conf/logtarget.go
2022-08-02 17:01:46 +08:00

41 lines
763 B
Go

package conf
import "strings"
type logTarget []string
// MarshalKV marshal log target
func (value logTarget) MarshalKV() (string, error) {
return strings.Join([]string(value), ","), nil
}
// UnmarshalKV unmarshal log target
func (value *logTarget) UnmarshalKV(data string) error {
for _, v := range strings.Split(data, ",") {
if v == "stdout" || v == "file" {
*value = append(*value, v)
}
}
return nil
}
// SupportStdout check is supported stdout
func (value logTarget) SupportStdout() bool {
for _, v := range value {
if v == "stdout" {
return true
}
}
return false
}
// SupportFile check is supported file
func (value logTarget) SupportFile() bool {
for _, v := range value {
if v == "file" {
return true
}
}
return false
}