mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-26 08:58:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // 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
 | |
| }
 |