日志监控

This commit is contained in:
hahwu 2025-04-01 10:15:20 +08:00
parent 5ec5b42430
commit ee5781df40
2 changed files with 14 additions and 1 deletions

View File

@ -6,6 +6,7 @@ import (
"log" "log"
"os" "os"
"path" "path"
"runtime"
"strings" "strings"
"sync" "sync"
"time" "time"
@ -240,6 +241,11 @@ func Error(format string, a ...interface{}) {
if gLogger == nil { if gLogger == nil {
return return
} }
// Capture the stack trace
stack := make([]byte, 1024)
length := runtime.Stack(stack, false)
format = fmt.Sprintf("%s\nStack trace:\n%s", format, stack[:length])
gLogger.doPrintf(errorLevel, printErrorLevel, format, a...) gLogger.doPrintf(errorLevel, printErrorLevel, format, a...)
} }

View File

@ -3,7 +3,8 @@ package module
import ( import (
"server/pkg/github.com/name5566/leaf/chanrpc" "server/pkg/github.com/name5566/leaf/chanrpc"
"server/pkg/github.com/name5566/leaf/console" "server/pkg/github.com/name5566/leaf/console"
"server/pkg/github.com/name5566/leaf/go" g "server/pkg/github.com/name5566/leaf/go"
logger "server/pkg/github.com/name5566/leaf/log"
"server/pkg/github.com/name5566/leaf/timer" "server/pkg/github.com/name5566/leaf/timer"
"time" "time"
) )
@ -43,9 +44,15 @@ func (s *Skeleton) Init() {
} }
func (s *Skeleton) Run(closeSig chan bool) { func (s *Skeleton) Run(closeSig chan bool) {
defer func() {
if err := recover(); err != nil {
logger.Error("skeleton run panic: %v", err)
}
}()
for { for {
select { select {
case <-closeSig: case <-closeSig:
logger.Debug("close signal received")
s.commandServer.Close() s.commandServer.Close()
s.server.Close() s.server.Close()
for !s.g.Idle() || !s.client.Idle() { for !s.g.Idle() || !s.client.Idle() {