Init configuration from file #3

Merged
jonasfranz merged 11 commits from zeripath/log:nicer-configuration into master 2019-06-08 10:12:22 +00:00
Showing only changes of commit 5c1f0fb448 - Show all commits

@ -40,22 +40,6 @@ const (
LstdFlags = Ldate | Ltime | Lmedfile | Lshortfuncname | Llevelinitial
)
var flagFromString = map[string]Flags{
"none": 0,
"date": Ldate,
"time": Ltime,
"microseconds": Lmicroseconds,
"longfile": Llongfile,
"shortfile": Lshortfile,
"funcname": Lfuncname,
"shortfuncname": Lshortfuncname,
"utc": LUTC,
"levelinitial": Llevelinitial,
"level": Llevel,
"medfile": Lmedfile,
"stdflags": LstdFlags,
}
var flagOrder = []string{
"date",
"time",
@ -97,8 +81,8 @@ func (f Flags) MarshalJSON() ([]byte, error) {
stringFlags = append(stringFlags, "medfile")
w = w ^ Lmedfile
}
for _, k := range flagOrder {
v := flagFromString[k]
for i, k := range flagOrder {
v := Flags(1 << uint64(i))
if w&v == v && v != 0 {
stringFlags = append(stringFlags, k)
}
@ -114,9 +98,10 @@ func (f Flags) MarshalJSON() ([]byte, error) {
func FlagsFromString(from string) Flags {
flags := Flags(0)
for _, flag := range strings.Split(strings.ToLower(from), ",") {
f, ok := flagFromString[strings.TrimSpace(flag)]
if ok {
flags = flags | f
for f, k := range flagOrder {
if k == strings.TrimSpace(flag) {
flags = flags | Flags(1<<uint64(f))
}
}
}
return flags