Ich verwende Zerolog für die Protokollierung, erhalte jedoch Beschwerden, weil das Protokollformat anders als zuvor ist und ich versuche, von einer anderen Sprache auf Golang umzugestalten. Ist es möglich, die Standortebene und den Zeitstempel zu ändern?
Das ist mein Code: `
consoleWriter := zerolog.ConsoleWriter{Out: os.Stdout, NoColor: true, TimeFormat: time.RFC3339} consoleWriter.FormatLevel = func(i interface{}) string { return strings.ToUpper(fmt.Sprintf("[ %-6s] -", i)) } consoleWriter.FormatTimestamp = func(i interface{}) string { return strings.ToUpper(fmt.Sprintf("[%s]", i)) } if cfg.Logger.WriteLogger { multi = zerolog.MultiLevelWriter(consoleWriter, file) } else { defer file.Close() multi = zerolog.MultiLevelWriter(consoleWriter) } logger := zerolog.New(multi).Level(zerolog.TraceLevel). With(). Timestamp(). Logger() logger.Info().Msg("this is message")
`
Ich habe das Ergebnis erhalten:
<块引用>[2024-01-16T13:24:05+07:00] [Nachricht] – Das ist die Nachricht
块引用>Ist es möglich, die Position so zu ändern, dass das Ergebnis wie folgt aussieht:
<块引用>[ INFO ] [2024-01-16T13:24:05+07:00] – Das sind die Neuigkeiten
块引用>Vielen Dank.
Sie können dazu PartsOrder verwenden; Sie müssen außerdem den Formatierer anpassen, damit sich -
an der richtigen Position befindet (Playground).
func main() { consoleWriter := zerolog.ConsoleWriter{Out: os.Stdout, NoColor: true, TimeFormat: time.RFC3339} consoleWriter.FormatLevel = func(i interface{}) string { return strings.ToUpper(fmt.Sprintf("[ %-6s]", i)) } //consoleWriter.FormatTimestamp = func(i interface{}) string { // return strings.ToUpper(fmt.Sprintf("[%s] -", i)) //} consoleWriter.TimeFormat = "[" + time.RFC3339 + "] - " consoleWriter.PartsOrder = []string{ zerolog.LevelFieldName, zerolog.TimestampFieldName, zerolog.CallerFieldName, zerolog.MessageFieldName, } logger := zerolog.New(consoleWriter).Level(zerolog.TraceLevel). With(). Timestamp(). Logger() logger.Info().Msg("this is message") }
Ausgabe:
[ INFO ] [2024-01-16T21:11:39+13:00] - this is message
Das obige ist der detaillierte Inhalt vonStandortebene und Zeitstempel ändern Zerolog Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!