mirror of
https://github.com/Luzifer/cloudkeys-go.git
synced 2024-11-14 17:02:43 +00:00
39 lines
1 KiB
Go
39 lines
1 KiB
Go
|
// 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)
|
||
|
}
|