2026-02-02 18:32:41 +08:00
|
|
|
|
package common
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
"blazing/cool"
|
|
|
|
|
|
"blazing/modules/base/service"
|
|
|
|
|
|
|
|
|
|
|
|
"github.com/gogf/gf/v2/os/glog"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
2026-04-05 23:13:06 +08:00
|
|
|
|
// MyWriter 自定义日志写入器,用于逻辑服日志转发。
|
2026-02-02 18:32:41 +08:00
|
|
|
|
type MyWriter struct {
|
2026-04-05 23:13:06 +08:00
|
|
|
|
logger *glog.Logger // 底层 glog 实例。
|
|
|
|
|
|
user uint32 // 关联的玩家 ID。
|
2026-02-02 18:32:41 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-04-05 23:13:06 +08:00
|
|
|
|
// Write 实现 io.Writer,并将日志写入系统日志与底层 logger。
|
2026-02-02 18:32:41 +08:00
|
|
|
|
func (w *MyWriter) Write(p []byte) (n int, err error) {
|
|
|
|
|
|
var (
|
|
|
|
|
|
s = string(p)
|
|
|
|
|
|
)
|
|
|
|
|
|
|
2026-03-21 00:24:34 +08:00
|
|
|
|
service.NewBaseSysLogService().RecordLog(w.user, s)
|
2026-02-02 18:32:41 +08:00
|
|
|
|
return w.logger.Write(p)
|
|
|
|
|
|
}
|
2026-04-05 23:13:06 +08:00
|
|
|
|
|
2026-02-02 18:32:41 +08:00
|
|
|
|
func init() {
|
|
|
|
|
|
cool.Logger.SetWriter(&MyWriter{
|
|
|
|
|
|
logger: glog.New(),
|
|
|
|
|
|
})
|
|
|
|
|
|
cool.Logger.SetAsync(true)
|
|
|
|
|
|
}
|