log/default_logger.go

65 lines
1.3 KiB
Go
Raw Normal View History

package log
import (
"apigo.cc/go/config"
)
var DefaultLogger *Logger
func init() {
RegisterWriterMaker("es", newESWriter)
RegisterWriterMaker("ess", newESWriter)
var conf Config
_ = config.Load(&conf, "log")
DefaultLogger = NewLogger(conf)
}
// New 创建带有 traceId 的 Logger 副本
func New(traceId string) *Logger {
return DefaultLogger.New(traceId)
}
// SetDefaultName 设置全局默认应用名称,并同步更新 DefaultLogger
func SetDefaultName(name string) {
if name == "" {
return
}
globalDefaultName = name
if DefaultLogger != nil {
DefaultLogger.SetName(name)
}
}
// As 仿照 cast.As使用 DefaultLogger 记录错误并返回零值 (消除摩擦)
func As[T any](v T, err error) T {
if err != nil {
if DefaultLogger != nil {
DefaultLogger.Error(err.Error())
}
var zero T
return zero
}
return v
}
// Debug 记录一条调试级别日志
func Debug(message string, extra ...any) {
DefaultLogger.Debug(message, extra...)
}
// Info 记录一条信息级别日志
func Info(message string, extra ...any) {
DefaultLogger.Info(message, extra...)
}
// Warning 记录一条警告级别日志
func Warning(message string, extra ...any) {
DefaultLogger.Warning(message, extra...)
}
// Error 记录一条错误级别日志
func Error(message string, extra ...any) {
DefaultLogger.Error(message, extra...)
}