go-scopes/logging/logging.go

46 lines
826 B
Go

package logging
import (
"fmt"
"path/filepath"
"git.sr.ht/~cco/go-scopes/config"
"git.sr.ht/~cco/go-scopes/lib"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
)
type Logger = zerolog.Logger
var globalLogger Logger = log.Logger
type Cfg struct {
*config.BaseCfg
Logfile string
Level zerolog.Level
}
func Setup(ctx lib.Context, cfg *Cfg, home string) {
if cfg == nil {
return // use unchanged predefined logger
}
fmt.Println("logging:", home, cfg.Logfile)
fn := cfg.Logfile
if fn == "" {
fn = filepath.Join(home, "log", "scopes.log")
} else if !filepath.IsAbs(fn) {
fn = filepath.Join(home, fn)
}
fmt.Println("logfile:", fn)
}
func New(cfg *Cfg, home string) *Logger {
return nil
}
func GetLogger(ctx lib.Context) *zerolog.Logger {
if ctx == nil {
return &globalLogger
}
return nil
}