discover/Log.go

56 lines
1.1 KiB
Go
Raw Normal View History

package discover
import (
"apigo.cc/go/log"
)
const LogTypeDiscover = "discover"
type DiscoverLog struct {
log.BaseLog
2026-05-09 14:56:38 +08:00
App string `log:"pos:6,color:cyan"`
Method string `log:"pos:7,color:magenta"`
Path string `log:"pos:8,color:blue"`
Node string `log:"pos:9,color:yellow"`
Attempts int `log:"pos:10"`
UsedTime float32 `log:"pos:11,format:%.2fms"`
Error string `log:"pos:12,color:red"`
}
func (l *DiscoverLog) Reset() {
l.BaseLog.Reset()
l.App = ""
l.Method = ""
l.Path = ""
l.Node = ""
l.Attempts = 0
l.UsedTime = 0
l.Error = ""
}
func init() {
log.RegisterType(LogTypeDiscover, DiscoverLog{})
}
func (ac *AppClient) Log(node string, usedTime float32, err error) {
if ac.Logger == nil {
ac.Logger = log.DefaultLogger
}
if !ac.Logger.CheckLevel(log.INFO) {
return
}
entry := log.GetEntry[DiscoverLog]()
// 框架会自动调用 fillBase只需填充业务字段
entry.App = ac.App
entry.Method = ac.Method
entry.Path = ac.Path
entry.Node = node
entry.Attempts = ac.attempts
entry.UsedTime = usedTime
if err != nil {
entry.Error = err.Error()
}
ac.Logger.Log(entry)
}