From 45ed1c34f9a389a5d59c7a66439c613ef94361cf Mon Sep 17 00:00:00 2001 From: lanrenwo Date: Tue, 1 Nov 2022 22:52:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96LogBatch=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/handler/payload_access_audit.go | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/server/handler/payload_access_audit.go b/server/handler/payload_access_audit.go index 3adcc70..aee27a5 100644 --- a/server/handler/payload_access_audit.go +++ b/server/handler/payload_access_audit.go @@ -21,24 +21,20 @@ const ( ) var ( - logAuditSink *LogSink auditPayload *AuditPayload + logBatch *LogBatch ) -// 审计日志 +// 分析审计日志 type AuditPayload struct { Pool *grpool.Pool IpAuditMap utils.IMaps } -// 保存批量的审计日志 +// 保存审计日志 type LogBatch struct { - Logs []dbdata.AccessAudit -} - -// 批量日志池 -type LogSink struct { - logChan chan dbdata.AccessAudit + Logs []dbdata.AccessAudit + LogChan chan dbdata.AccessAudit } // 异步写入pool @@ -69,17 +65,16 @@ func logAuditBatch() { if base.Cfg.AuditInterval < 0 { return } - logAuditSink = &LogSink{ - logChan: make(chan dbdata.AccessAudit, 5000), - } auditPayload = &AuditPayload{ Pool: grpool.NewPool(10, 500), IpAuditMap: utils.NewMap("cmap", 0), } + logBatch = &LogBatch{ + LogChan: make(chan dbdata.AccessAudit, 5000), + } var ( limit = 100 // 超过上限批量写入数据表 outTime = time.NewTimer(time.Second) - logBatch = &LogBatch{} accessAudit = dbdata.AccessAudit{} ) @@ -87,7 +82,7 @@ func logAuditBatch() { // 重置超时 时间 outTime.Reset(time.Second * 1) select { - case accessAudit = <-logAuditSink.logChan: + case accessAudit = <-logBatch.LogChan: logBatch.Logs = append(logBatch.Logs, accessAudit) if len(logBatch.Logs) >= limit { if !outTime.Stop() { @@ -178,5 +173,5 @@ func logAudit(userName string, bPlData *[]byte) { AccessProto: accessProto, Info: info, } - logAuditSink.logChan <- audit + logBatch.LogChan <- audit }