golib/logger/init.go

47 lines
938 B
Go
Raw Normal View History

//
// init.go
// Copyright (C) 2023 tiglog <me@tiglog.com>
//
// Distributed under terms of the MIT license.
//
package logger
import (
2023-07-15 16:35:59 +08:00
"path/filepath"
"strconv"
2023-07-15 17:52:50 +08:00
"strings"
"time"
"github.com/rs/zerolog"
"github.com/rs/zerolog/pkgerrors"
)
var loggerLevel = zerolog.InfoLevel
func init() {
2023-07-15 16:35:59 +08:00
// zerolog.ErrorStackMarshaler = func(err error) interface{} {
// return pkgerrors.MarshalStack(errors.Wrap(err, "wrap"))
// }
zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack
2023-07-15 16:35:59 +08:00
zerolog.TimeFieldFormat = time.RFC3339
zerolog.CallerMarshalFunc = func(pc uintptr, file string, line int) string {
2023-07-15 17:52:50 +08:00
new_files := strings.Split(file, "/")
l := len(new_files)
pos := 0
var new_file string
if l-3 > 0 {
pos = l - 3
new_file = strings.Join(new_files[pos:], "/")
} else {
new_file = filepath.Base(file)
}
return new_file + ":" + strconv.Itoa(line)
}
}
func SetLevel(level zerolog.Level) {
loggerLevel = level
}