log/default_logger.go

45 lines
856 B
Go
Raw Permalink 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
}