- // Copyright 2019 The Gitea Authors. All rights reserved.
- // Use of this source code is governed by a MIT-style
- // license that can be found in the LICENSE file.
-
- package log
-
- import "strings"
-
- // These flags define which text to prefix to each log entry generated
- // by the Logger. Bits are or'ed together to control what's printed.
- // There is no control over the order they appear (the order listed
- // here) or the format they present (as described in the comments).
- // The prefix is followed by a colon only if more than time is stated
- // is specified. For example, flags Ldate | Ltime
- // produce, 2009/01/23 01:23:23 message.
- // The standard is:
- // 2009/01/23 01:23:23 ...a/logger/c/d.go:23:runtime.Caller() [I]: message
- const (
- Ldate = 1 << iota // the date in the local time zone: 2009/01/23
- Ltime // the time in the local time zone: 01:23:23
- Lmicroseconds // microsecond resolution: 01:23:23.123123. assumes Ltime.
- Llongfile // full file name and line number: /a/logger/c/d.go:23
- Lshortfile // final file name element and line number: d.go:23. overrides Llongfile
- Lfuncname // function name of the caller: runtime.Caller()
- Lshortfuncname // last part of the function name
- LUTC // if Ldate or Ltime is set, use UTC rather than the local time zone
- Llevelinitial // Initial character of the provided level in brackets eg. [I] for info
- Llevel // Provided level in brackets [INFO]
-
- // Last 20 characters of the filename
- Lmedfile = Lshortfile | Llongfile
-
- // LstdFlags is the initial value for the standard logger
- LstdFlags = Ldate | Ltime | Lmedfile | Lshortfuncname | Llevelinitial
- )
-
- var flagFromString = map[string]int{
- "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,
- }
-
- // FlagsFromString takes a comma separated list of flags and returns
- // the flags for this string
- func FlagsFromString(from string) int {
- flags := 0
- for _, flag := range strings.Split(strings.ToLower(from), ",") {
- f, ok := flagFromString[strings.TrimSpace(flag)]
- if ok {
- flags |= f
- }
- }
- if flags == 0 {
- return -1
- }
- return flags
- }
|