增加ws支持

This commit is contained in:
2024-07-22 22:29:45 +08:00
parent 7ad6f6da41
commit 1f571db971
5 changed files with 207 additions and 48 deletions

View File

@ -8,10 +8,13 @@
package logger
import (
"github.com/pkg/errors"
"io"
"os"
"git.zhangdeman.cn/zhangdeman/websocket/storage"
"github.com/pkg/errors"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
@ -58,6 +61,7 @@ func NewLogger(inputLoggerLevel string, splitConfig *RotateLogConfig, optionFunc
fileHandlerList := []zapcore.Core{
zapcore.NewCore(o.Encoder, zapcore.AddSync(loggerWriter), loggerLevelDeal),
zapcore.NewCore(o.Encoder, zapcore.AddSync(&wsWriter{o.WsLoggerConnect}), loggerLevelDeal), // 设置ws日志输出
}
// 设置控制台输出
@ -135,3 +139,24 @@ func (l *Logger) getWriter() (io.Writer, error) {
return hook, nil
}
type wsWriter struct {
connection storage.IConnection
}
// Write ws的writer
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 22:24 2024/7/22
func (w *wsWriter) Write(p []byte) (n int, err error) {
if nil == w.connection {
return 0, nil
}
allConnList := w.connection.GetCtxList()
for _, conn := range allConnList {
_ = conn.Session.Write(p)
}
return 0, nil
}