Files
freedak f7a720204a Update: 将子项目从 submodule 转为完整内容
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用
- 添加所有子项目的完整源代码
- 保留原始 .git 为 .git.bak 备份
2026-07-04 19:20:46 +08:00

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()
}