32 lines
621 B
Go
32 lines
621 B
Go
|
package logger
|
||
|
|
||
|
import "os"
|
||
|
|
||
|
type LevelLength int
|
||
|
|
||
|
const (
|
||
|
LevelShort LevelLength = iota
|
||
|
LevelLong
|
||
|
)
|
||
|
|
||
|
type FormatOptions struct {
|
||
|
TimeFormat string
|
||
|
PackageLength int
|
||
|
LevelLength LevelLength
|
||
|
}
|
||
|
|
||
|
func FormatMessage(options FormatOptions, level LogLevel, packageName, msg string, colored bool) string {
|
||
|
appName := os.Args[0]
|
||
|
out := metaFmtStr(colored, level, options, appName,
|
||
|
packageName, msg, "%[1]s [%[3]s] %[4]s %[5]s")
|
||
|
return out
|
||
|
}
|
||
|
|
||
|
func (options FormatOptions) GetLevelStr(level LogLevel) string {
|
||
|
if options.LevelLength == LevelLong {
|
||
|
return level.LongStr()
|
||
|
} else {
|
||
|
return level.ShortStr()
|
||
|
}
|
||
|
}
|