From 887349d72040f860904f91212426b8e2c7746ca0 Mon Sep 17 00:00:00 2001 From: Sean Hickey Date: Sun, 20 Nov 2022 15:33:45 -0800 Subject: [PATCH] optionally use utc/local time based on config --- Readme.md | 2 +- gopackagebase.go | 3 ++- logging.go | 12 +++++++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Readme.md b/Readme.md index 8e607db..70cada2 100644 --- a/Readme.md +++ b/Readme.md @@ -1,7 +1,7 @@ # gopackagebase ```sh -go get git.wisellama.rocks/Wisellama/gopackagebase@v0.0.3 +go get git.wisellama.rocks/Wisellama/gopackagebase@v0.0.4 ``` This modules contains basic setup and initialization functions that diff --git a/gopackagebase.go b/gopackagebase.go index c05ec3b..d20c355 100644 --- a/gopackagebase.go +++ b/gopackagebase.go @@ -30,10 +30,11 @@ func Initialize(configFile string, defaultConfig gosimpleconf.ConfigMap) (*BaseC log.Fatalf("error during configure: %v\n", err) } + utcTime := gosimpleconf.Bool(configMap["log.utcTime"]) writeToFile := gosimpleconf.Bool(configMap["log.writeToFile"]) logFilename := configMap["log.file"] - logWriter, err := SetupLogging(writeToFile, logFilename) + logWriter, err := SetupLogging(writeToFile, utcTime, logFilename) if err != nil { return nil, err } diff --git a/logging.go b/logging.go index b44a24d..3ec6420 100644 --- a/logging.go +++ b/logging.go @@ -8,20 +8,25 @@ import ( ) type logWriter struct { + utcTime bool writeToFile bool logFile *os.File } func (w *logWriter) Write(bytes []byte) (int, error) { - t := time.Now().UTC().Format(time.RFC3339) - return fmt.Fprintf(w.logFile, "%v %v", t, string(bytes)) + t := time.Now() + if w.utcTime { + t = t.UTC() + } + format := t.Format(time.RFC3339) + return fmt.Fprintf(w.logFile, "%v %v", format, string(bytes)) } func (w *logWriter) Cleanup() { defer w.logFile.Close() } -func SetupLogging(writeToFile bool, logFilename string) (*logWriter, error) { +func SetupLogging(writeToFile bool, utcTime bool, logFilename string) (*logWriter, error) { var err error log.SetFlags(0) @@ -34,6 +39,7 @@ func SetupLogging(writeToFile bool, logFilename string) (*logWriter, error) { } writer := &logWriter{ + utcTime: utcTime, writeToFile: writeToFile, logFile: logFile, }