// Copyright 2014 Canonical Ltd. // Licensed under the LGPLv3, see LICENCE file for details. package loggo import ( "fmt" "os" "path/filepath" "time" ) // DefaultFormatter returns the parameters separated by spaces except for // filename and line which are separated by a colon. The timestamp is shown // to second resolution in UTC. For example: // 2016-07-02 15:04:05 func DefaultFormatter(entry Entry) string { ts := entry.Timestamp.In(time.UTC).Format("2006-01-02 15:04:05") // Just get the basename from the filename filename := filepath.Base(entry.Filename) return fmt.Sprintf("%s %s %s %s:%d %s", ts, entry.Level, entry.Module, filename, entry.Line, entry.Message) } // TimeFormat is the time format used for the default writer. // This can be set with the environment variable LOGGO_TIME_FORMAT. var TimeFormat = initTimeFormat() func initTimeFormat() string { format := os.Getenv("LOGGO_TIME_FORMAT") if format != "" { return format } return "15:04:05" } func formatTime(ts time.Time) string { return ts.Format(TimeFormat) }