contentserver/logger/log.go
2019-05-23 14:20:38 +02:00

40 lines
784 B
Go

package logger
import (
"log"
"os"
"go.uber.org/zap"
)
var (
// Log is the logger instance exposed by this package
// call Setup() prior to using it
// want JSON output? Set LOG_JSON env var to 1!
Log *zap.Logger
)
// SetupLogging configures the logger
func SetupLogging(debug bool, outputPath string) {
var err error
if debug {
zc := zap.NewDevelopmentConfig()
if os.Getenv("LOG_JSON") == "1" {
zc.Encoding = "json"
}
zc.OutputPaths = append(zc.OutputPaths, outputPath)
Log, err = zc.Build()
} else {
zc := zap.NewProductionConfig()
if os.Getenv("LOG_JSON") == "1" {
zc.Encoding = "json"
}
zc.OutputPaths = append(zc.OutputPaths, outputPath)
Log, err = zc.Build()
}
if err != nil {
log.Fatalf("can't initialize zap logger: %v", err)
}
}