Skip to content

Instantly share code, notes, and snippets.

@kevin-ip
Last active October 23, 2018 23:35
Show Gist options
  • Save kevin-ip/380b5aedf29be60d2de3b83b5399eba7 to your computer and use it in GitHub Desktop.
Save kevin-ip/380b5aedf29be60d2de3b83b5399eba7 to your computer and use it in GitHub Desktop.
go.uber.org/zap logging with timestamp
package main
import (
"encoding/json"
"go.uber.org/zap"
)
func main() {
logFilePath := "/tmp/hello.log"
rawJSON := []byte(`{
"level": "debug",
"encoding": "json",
"outputPaths": ["stdout", "` + logFilePath + `"],
"errorOutputPaths": ["stderr", "` + logFilePath + `"],
"encoderConfig": {
"messageKey": "message",
"levelKey": "level",
"levelEncoder": "lowercase",
"timeKey": "ts",
"timeEncoder": "ISO8601"
}
}`)
var cfg zap.Config
if err := json.Unmarshal(rawJSON, &cfg); err != nil {
panic(err)
}
logger, err := cfg.Build()
if err != nil {
panic(err)
}
defer logger.Sync()
logger.Info("Hello World")
//{"level":"info","ts":"2018-10-23T16:34:07.301-0700","message":"Hello World"}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment