logger(feat) create logger package

This commit is contained in:
Theo Technicguy 2023-08-22 17:46:38 +02:00
parent 46ad4d31d2
commit 2eb52068f6
Signed by: theo.technicguy
GPG Key ID: 3BC661201BCA53D9
1 changed files with 44 additions and 0 deletions

44
logger/logger.go Normal file
View File

@ -0,0 +1,44 @@
/**
* file: logger.go
* author: theo technicguy
* license: apache-2.0
*
* This is the logger package, providing global logging
* facilities to hoffman-server.
*/
// The logger package provides logging facilites to the
// entire hoffman-server project.
package logger
import (
"os"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
)
var (
logger zerolog.Logger = log.Logger.With().Str("service", "logger").Logger()
setupDone bool = false
)
func Setup() {
zerolog.TimeFieldFormat = zerolog.TimeFormatUnixMs
log.Logger = zerolog.New(zerolog.ConsoleWriter{Out: os.Stderr}).With().Timestamp().Logger()
logger.Debug().Msg("setup logger")
setupDone = true
}
func GetLogger(service string) zerolog.Logger {
if !setupDone {
Setup()
}
logger.Debug().Str("new-service", service).Msg("generating logger")
return log.With().Str("service", service).Logger()
}
func SetLogLevel(level zerolog.Level) {
zerolog.SetGlobalLevel(level)
}