Open clawconduce opened 8 years ago
Haven't tried it out, but NewLogBackend(out io.Writer, prefix string, flag int)
proxies the flag variable to the standard log
library's log.New
. The flags supported include UTC time: https://golang.org/pkg/log/#pkg-constants
const (
// Bits 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 when Llongfile or Lshortfile
// is specified.
// For example, flags Ldate | Ltime (or LstdFlags) produce,
// 2009/01/23 01:23:23 message
// while flags Ldate | Ltime | Lmicroseconds | Llongfile produce,
// 2009/01/23 01:23:23.123123 /a/b/c/d.go:23: message
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/b/c/d.go:23
Lshortfile // final file name element and line number: d.go:23. overrides Llongfile
LUTC // if Ldate or Ltime is set, use UTC rather than the local time zone
LstdFlags = Ldate | Ltime // initial values for the standard logger
)
@talee LUTC isn't taken into account when the package generates the timestamp. @clawconduce Please see the referenced pull request to export timeNow.
That looks good to me, if it's merged I believe this ticket should get closed
var format = logging.MustStringFormatter(
`%{shortfile} ▶ %{level:.4s} %{message}`,
)
backend1 := logging.NewBackendFormatter(
logging.NewLogBackend(&lumberjack.Logger{
Filename: "foo-ERROR.log",
MaxSize: 1, // megabytes
MaxBackups: 3,
MaxAge: 1, // days
Compress: true, // disabled by default
}, "", log.LstdFlags|log.LUTC), format)
this worked for me.
I have a simple logger setup:
and I am trying to get it to output timestamps in UTC time, but I do not see a way to do this. I think setting
logging.timeNow
would work, but this isn't possible because it is not exported. Is there a way to do this? If not, could we support using custom time functions? I'd like to use something like:Thanks!