|
|
@@ -7,6 +7,7 @@ import (
|
|
|
"sync"
|
|
|
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
|
|
|
+ "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev1/log_buf/log_msg"
|
|
|
)
|
|
|
@@ -16,21 +17,21 @@ import (
|
|
|
// Буфер для Error -- отдельный.
|
|
|
type ILogBuf interface {
|
|
|
// Debug -- сообщение отладки
|
|
|
- Debug(fMsg string, args ...any)
|
|
|
+ Debug(fMsg defs.Str, args ...any)
|
|
|
// LogBus -- возвращает объект публикации в шину
|
|
|
// LogBus()ILogBus
|
|
|
// Info -- информационные сообщения
|
|
|
- Info(fMsg string, args ...any)
|
|
|
+ Info(fMsg defs.Str, args ...any)
|
|
|
// Warn -- предупреждающие сообщения
|
|
|
- Warn(fMsg string, args ...any)
|
|
|
+ Warn(fMsg defs.Str, args ...any)
|
|
|
// Err -- сообщения об ошибках
|
|
|
- Err(fMsg string, args ...any)
|
|
|
+ Err(fMsg defs.IStr, args ...any)
|
|
|
// Get -- возвращает сообщение по номеру (0..99)
|
|
|
- Get(num int) log_msg.ILogMsg
|
|
|
+ Get(num defs.Int) log_msg.ILogMsg
|
|
|
// GetErr -- возвращает сообщение ошибки по номеру (0..99)
|
|
|
- GetErr(num int) log_msg.ILogMsg
|
|
|
+ GetErr(num defs.Int) log_msg.ILogMsg
|
|
|
// Size -- возвращает размер лога
|
|
|
- Size() int
|
|
|
+ Size() defs.Int
|
|
|
// IsTerm -- возвращает признак логирования в терминал
|
|
|
IsTerm() core_spec.ISafeBool
|
|
|
}
|
|
|
@@ -41,7 +42,7 @@ var (
|
|
|
|
|
|
// LogBufParam -- параметры логирующего буфера.
|
|
|
type LogBufParam struct {
|
|
|
- Prefix_ string // Префикс для сообщений
|
|
|
+ Prefix_ defs.Str // Префикс для сообщений
|
|
|
IsTerm_ core_spec.ISafeBool // Признак вывода в терминал
|
|
|
}
|
|
|
|
|
|
@@ -77,13 +78,13 @@ func (sf *LogBuf) IsTerm() core_spec.ISafeBool {
|
|
|
}
|
|
|
|
|
|
// GetErr -- возвращает сообщение ошибки по номеру.
|
|
|
-func (sf *LogBuf) GetErr(num int) log_msg.ILogMsg {
|
|
|
+func (sf *LogBuf) GetErr(num defs.Int) log_msg.ILogMsg {
|
|
|
sf.RLock()
|
|
|
defer sf.RUnlock()
|
|
|
if len(sf.lstErr) == 0 {
|
|
|
return log_msg.NewLogMsg(log_msg.DEBUG, sf.Prefix_+"not error msg")
|
|
|
}
|
|
|
- if num >= len(sf.lstErr) {
|
|
|
+ if num.Int() >= len(sf.lstErr) {
|
|
|
return sf.lstErr[len(sf.lstErr)-1]
|
|
|
}
|
|
|
if num <= 0 {
|
|
|
@@ -93,13 +94,13 @@ func (sf *LogBuf) GetErr(num int) log_msg.ILogMsg {
|
|
|
}
|
|
|
|
|
|
// Get -- возвращает сообщение по номеру.
|
|
|
-func (sf *LogBuf) Get(num int) log_msg.ILogMsg {
|
|
|
+func (sf *LogBuf) Get(num defs.Int) log_msg.ILogMsg {
|
|
|
sf.RLock()
|
|
|
defer sf.RUnlock()
|
|
|
if len(sf.lst) == 0 {
|
|
|
return log_msg.NewLogMsg(log_msg.DEBUG, sf.Prefix_+"*no msg*")
|
|
|
}
|
|
|
- if num >= len(sf.lst) {
|
|
|
+ if num.Int() >= len(sf.lst) {
|
|
|
return log_msg.NewLogMsg(log_msg.DEBUG, sf.Prefix_+"*no msg*")
|
|
|
}
|
|
|
if num <= 0 {
|
|
|
@@ -109,65 +110,65 @@ func (sf *LogBuf) Get(num int) log_msg.ILogMsg {
|
|
|
}
|
|
|
|
|
|
type tMsg struct {
|
|
|
- text string
|
|
|
+ text defs.IStr
|
|
|
args []any
|
|
|
}
|
|
|
|
|
|
// Debug -- сообщение отладки.
|
|
|
-func (sf *LogBuf) Debug(fMsg string, args ...any) {
|
|
|
+func (sf *LogBuf) Debug(fMsg defs.IStr, args ...any) {
|
|
|
sf.Lock()
|
|
|
defer sf.Unlock()
|
|
|
msg := tMsg{
|
|
|
text: fMsg,
|
|
|
args: args,
|
|
|
}
|
|
|
- strMsg := fmt.Sprintf(msg.text, msg.args...)
|
|
|
- _msg := log_msg.NewLogMsg(log_msg.DEBUG, sf.Prefix_+strMsg)
|
|
|
+ strMsg := fmt.Sprintf(msg.text.String(), msg.args...)
|
|
|
+ _msg := log_msg.NewLogMsg(log_msg.DEBUG, sf.Prefix_+defs.Str(strMsg))
|
|
|
sf.lst = append(sf.lst, _msg)
|
|
|
sf.checkLen()
|
|
|
sf.printTerm(_msg)
|
|
|
}
|
|
|
|
|
|
// Info -- информационные сообщения.
|
|
|
-func (sf *LogBuf) Info(fMsg string, args ...any) {
|
|
|
+func (sf *LogBuf) Info(fMsg defs.Str, args ...any) {
|
|
|
sf.Lock()
|
|
|
defer sf.Unlock()
|
|
|
msg := tMsg{
|
|
|
text: fMsg,
|
|
|
args: args,
|
|
|
}
|
|
|
- strMsg := fmt.Sprintf(msg.text, msg.args...)
|
|
|
- _msg := log_msg.NewLogMsg(log_msg.INFO, sf.Prefix_+strMsg)
|
|
|
+ strMsg := fmt.Sprintf(msg.text.String(), msg.args...)
|
|
|
+ _msg := log_msg.NewLogMsg(log_msg.INFO, sf.Prefix_+defs.Str(strMsg))
|
|
|
sf.lst = append(sf.lst, _msg)
|
|
|
sf.checkLen()
|
|
|
sf.printTerm(_msg)
|
|
|
}
|
|
|
|
|
|
// Warn -- предупреждающие сообщения.
|
|
|
-func (sf *LogBuf) Warn(fMsg string, args ...any) {
|
|
|
+func (sf *LogBuf) Warn(fMsg defs.Str, args ...any) {
|
|
|
sf.Lock()
|
|
|
defer sf.Unlock()
|
|
|
msg := tMsg{
|
|
|
text: fMsg,
|
|
|
args: args,
|
|
|
}
|
|
|
- strMsg := fmt.Sprintf(msg.text, msg.args...)
|
|
|
- _msg := log_msg.NewLogMsg(log_msg.WARN, sf.Prefix_+strMsg)
|
|
|
+ strMsg := fmt.Sprintf(msg.text.String(), msg.args...)
|
|
|
+ _msg := log_msg.NewLogMsg(log_msg.WARN, sf.Prefix_+defs.Str(strMsg))
|
|
|
sf.lst = append(sf.lst, _msg)
|
|
|
sf.checkLen()
|
|
|
sf.printTerm(_msg)
|
|
|
}
|
|
|
|
|
|
// Err -- сообщения об ошибках.
|
|
|
-func (sf *LogBuf) Err(fMsg string, args ...any) {
|
|
|
+func (sf *LogBuf) Err(fMsg defs.IStr, args ...any) {
|
|
|
sf.Lock()
|
|
|
defer sf.Unlock()
|
|
|
msg := tMsg{
|
|
|
text: fMsg,
|
|
|
args: args,
|
|
|
}
|
|
|
- strMsg := fmt.Sprintf(msg.text, msg.args...)
|
|
|
- _msg := log_msg.NewLogMsg(log_msg.ERROR, sf.Prefix_+strMsg)
|
|
|
+ strMsg := fmt.Sprintf(msg.text.String(), msg.args...)
|
|
|
+ _msg := log_msg.NewLogMsg(log_msg.ERROR, sf.Prefix_+defs.Str(strMsg))
|
|
|
sf.lst = append(sf.lst, _msg)
|
|
|
sf.lstErr = append(sf.lstErr, _msg)
|
|
|
sf.checkLen()
|
|
|
@@ -176,10 +177,10 @@ func (sf *LogBuf) Err(fMsg string, args ...any) {
|
|
|
}
|
|
|
|
|
|
// Size -- возвращает размер буфера.
|
|
|
-func (sf *LogBuf) Size() int {
|
|
|
+func (sf *LogBuf) Size() defs.Int {
|
|
|
sf.RLock()
|
|
|
defer sf.RUnlock()
|
|
|
- return len(sf.lst)
|
|
|
+ return defs.Int(len(sf.lst))
|
|
|
}
|
|
|
|
|
|
// Проверяет длину общую лога.
|