f7a720204a
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用 - 添加所有子项目的完整源代码 - 保留原始 .git 为 .git.bak 备份
62 lines
946 B
Go
62 lines
946 B
Go
package logger
|
|
|
|
import (
|
|
"io"
|
|
"os"
|
|
"time"
|
|
|
|
"github.com/rs/zerolog"
|
|
)
|
|
|
|
var log zerolog.Logger
|
|
|
|
func Init(level string, jsonFormat bool) {
|
|
var output io.Writer = os.Stdout
|
|
if !jsonFormat {
|
|
output = zerolog.ConsoleWriter{
|
|
Out: os.Stdout,
|
|
TimeFormat: time.RFC3339,
|
|
}
|
|
}
|
|
|
|
lvl, err := zerolog.ParseLevel(level)
|
|
if err != nil {
|
|
lvl = zerolog.InfoLevel
|
|
}
|
|
|
|
log = zerolog.New(output).
|
|
Level(lvl).
|
|
With().
|
|
Timestamp().
|
|
Caller().
|
|
Logger()
|
|
}
|
|
|
|
func Get() *zerolog.Logger {
|
|
return &log
|
|
}
|
|
|
|
// Info/fatal/warn/error 等直接透传
|
|
func Info() *zerolog.Event {
|
|
return log.Info()
|
|
}
|
|
|
|
func Warn() *zerolog.Event {
|
|
return log.Warn()
|
|
}
|
|
|
|
func Error() *zerolog.Event {
|
|
return log.Error()
|
|
}
|
|
|
|
func Debug() *zerolog.Event {
|
|
return log.Debug()
|
|
}
|
|
|
|
func Fatal() *zerolog.Event {
|
|
return log.Fatal()
|
|
}
|
|
|
|
func Ctx(ctx interface{ Value(key interface{}) interface{} }) zerolog.Logger {
|
|
return log.With().Interface("ctx", ctx).Logger()
|
|
} |