Browse Source

SVI Добавление логики логгера; 100.0%

SVI 9 tháng trước cách đây
mục cha
commit
ec56387ebb
2 tập tin đã thay đổi với 33 bổ sung12 xóa
  1. 22 12
      kc/log_buf/log_buf.go
  2. 11 0
      kc/log_buf/log_buf_test.go

+ 22 - 12
kc/log_buf/log_buf.go

@@ -5,6 +5,7 @@ import (
 	"fmt"
 	"sync"
 
+	"gitp78su.ipnodns.ru/svi/kern/kc/helpers"
 	"gitp78su.ipnodns.ru/svi/kern/kc/log_buf/log_msg"
 	"gitp78su.ipnodns.ru/svi/kern/kc/safe_bool"
 	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
@@ -85,9 +86,7 @@ func (sf *logBuf) Debug(fMsg string, args ...any) {
 	_msg := log_msg.NewLogMsg(log_msg.DEBUG, strMsg)
 	sf.lst = append(sf.lst, _msg)
 	sf.checkLen()
-	if sf.isTerm.Get() {
-		fmt.Println(_msg.String())
-	}
+	sf.printTerm(_msg)
 }
 
 // Info -- информационные сообщения
@@ -102,9 +101,7 @@ func (sf *logBuf) Info(fMsg string, args ...any) {
 	_msg := log_msg.NewLogMsg(log_msg.INFO, strMsg)
 	sf.lst = append(sf.lst, _msg)
 	sf.checkLen()
-	if sf.isTerm.Get() {
-		fmt.Println(_msg.String())
-	}
+	sf.printTerm(_msg)
 }
 
 // Warn -- предупреждающие сообщения
@@ -119,9 +116,7 @@ func (sf *logBuf) Warn(fMsg string, args ...any) {
 	_msg := log_msg.NewLogMsg(log_msg.WARN, strMsg)
 	sf.lst = append(sf.lst, _msg)
 	sf.checkLen()
-	if sf.isTerm.Get() {
-		fmt.Println(_msg.String())
-	}
+	sf.printTerm(_msg)
 }
 
 // Err -- сообщения об ошибках
@@ -138,9 +133,7 @@ func (sf *logBuf) Err(fMsg string, args ...any) {
 	sf.lstErr = append(sf.lstErr, _msg)
 	sf.checkLen()
 	sf.checkLenErr()
-	if sf.isTerm.Get() {
-		fmt.Println(_msg.String())
-	}
+	sf.printTerm(_msg)
 }
 
 // Size -- возвращает размер буфера
@@ -163,3 +156,20 @@ func (sf *logBuf) checkLenErr() {
 		sf.lstErr = sf.lstErr[1:]
 	}
 }
+
+// Печатает сообщение в терминал, если разрешено
+func (sf *logBuf) printTerm(msg ILogMsg) {
+	if !sf.isTerm.Get() {
+		return
+	}
+	level := msg.Level()
+	if helpers.IsStageProd {
+		switch level {
+		case "ERRO", "WARN":
+			fmt.Printf("%v   %v\n", level, msg.String())
+		default:
+			return
+		}
+	}
+	fmt.Printf("%v   %v\n", level, msg.String())
+}

+ 11 - 0
kc/log_buf/log_buf_test.go

@@ -3,6 +3,7 @@ package log_buf
 import (
 	"testing"
 
+	"gitp78su.ipnodns.ru/svi/kern/kc/helpers"
 	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
@@ -45,4 +46,14 @@ func (sf *tester) new() {
 	_ = sf.log.Get(19)
 	_ = sf.log.GetErr(20)
 	_ = sf.log.Size()
+
+	sf.log.IsTerm().Reset()
+	sf.log.Warn("test msg: %v", 47)
+
+	sf.log.IsTerm().Set()
+	sf.log.Warn("test msg: %v", 47)
+
+	helpers.IsStageProd = true
+	sf.log.Warn("test msg: %v", 47)
+	sf.log.Debug("test msg: %v", 45)
 }