32 lines
516 B
Go
32 lines
516 B
Go
package helpers
|
|
|
|
import (
|
|
"os"
|
|
"time"
|
|
|
|
"github.com/charmbracelet/log"
|
|
)
|
|
|
|
var loggerCreated bool
|
|
var logger *log.Logger
|
|
|
|
func GetLogger() *log.Logger {
|
|
logLevel := log.DebugLevel
|
|
config, err := GetConfig()
|
|
if err == nil && !config.Debug {
|
|
logLevel = log.InfoLevel
|
|
}
|
|
|
|
if !loggerCreated {
|
|
logger = log.NewWithOptions(os.Stderr, log.Options{
|
|
Level: logLevel,
|
|
ReportCaller: true,
|
|
ReportTimestamp: true,
|
|
TimeFormat: time.RFC3339,
|
|
})
|
|
|
|
loggerCreated = true
|
|
}
|
|
|
|
return logger
|
|
}
|