|
@@ -7,7 +7,6 @@ import (
|
|
|
"sync"
|
|
"sync"
|
|
|
|
|
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0"
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0"
|
|
|
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
|
|
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev1/log_buf/log_msg"
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/lev1/log_buf/log_msg"
|
|
|
)
|
|
)
|
|
@@ -17,29 +16,29 @@ import (
|
|
|
// Буфер для Error -- отдельный.
|
|
// Буфер для Error -- отдельный.
|
|
|
type ILogBuf interface {
|
|
type ILogBuf interface {
|
|
|
// Debug -- сообщение отладки
|
|
// Debug -- сообщение отладки
|
|
|
- Debug(fMsg lev0.ATxt, args ...any)
|
|
|
|
|
|
|
+ Debug(fMsg lev0.Txt, args ...any)
|
|
|
// LogBus -- возвращает объект публикации в шину
|
|
// LogBus -- возвращает объект публикации в шину
|
|
|
// LogBus()ILogBus
|
|
// LogBus()ILogBus
|
|
|
// Info -- информационные сообщения
|
|
// Info -- информационные сообщения
|
|
|
- Info(fMsg lev0.ATxt, args ...any)
|
|
|
|
|
|
|
+ Info(fMsg lev0.Txt, args ...any)
|
|
|
// Warn -- предупреждающие сообщения
|
|
// Warn -- предупреждающие сообщения
|
|
|
- Warn(fMsg lev0.ATxt, args ...any)
|
|
|
|
|
|
|
+ Warn(fMsg lev0.Txt, args ...any)
|
|
|
// Err -- сообщения об ошибках
|
|
// Err -- сообщения об ошибках
|
|
|
Err(fMsg *lev0.LErr, args ...any)
|
|
Err(fMsg *lev0.LErr, args ...any)
|
|
|
// Get -- возвращает сообщение по номеру (0..99)
|
|
// Get -- возвращает сообщение по номеру (0..99)
|
|
|
- Get(num lev0.Int) log_msg.ILogMsg
|
|
|
|
|
|
|
+ Get(num lev0.Num) log_msg.ILogMsg
|
|
|
// GetErr -- возвращает сообщение ошибки по номеру (0..99)
|
|
// GetErr -- возвращает сообщение ошибки по номеру (0..99)
|
|
|
- GetErr(num lev0.Int) log_msg.ILogMsg
|
|
|
|
|
|
|
+ GetErr(num lev0.Num) log_msg.ILogMsg
|
|
|
// Size -- возвращает размер лога
|
|
// Size -- возвращает размер лога
|
|
|
- Size() lev0.Int
|
|
|
|
|
|
|
+ Size() lev0.Num
|
|
|
// IsTerm -- возвращает признак логирования в терминал
|
|
// IsTerm -- возвращает признак логирования в терминал
|
|
|
- IsTerm() lev0.ISafeBool
|
|
|
|
|
|
|
+ IsTerm() *lev0.MSafeBool
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// LogBufParam -- параметры логирующего буфера.
|
|
// LogBufParam -- параметры логирующего буфера.
|
|
|
type LogBufParam struct {
|
|
type LogBufParam struct {
|
|
|
Prefix_ *lev0.LTxt // Префикс для сообщений
|
|
Prefix_ *lev0.LTxt // Префикс для сообщений
|
|
|
- IsTerm_ core_spec.ISafeBool // Признак вывода в терминал
|
|
|
|
|
|
|
+ IsTerm_ *lev0.MSafeBool // Признак вывода в терминал
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// SelfCheck -- проверяет корректность параметров.
|
|
// SelfCheck -- проверяет корректность параметров.
|
|
@@ -64,25 +63,25 @@ func NewLogBuf(param *LogBufParam) ILogBuf {
|
|
|
lst: []log_msg.ILogMsg{},
|
|
lst: []log_msg.ILogMsg{},
|
|
|
lstErr: []log_msg.ILogMsg{},
|
|
lstErr: []log_msg.ILogMsg{},
|
|
|
}
|
|
}
|
|
|
- pref := sf.Prefix_.Get() + lev0.ATxt(".")
|
|
|
|
|
|
|
+ pref := sf.Prefix_.Get() + lev0.Txt(".")
|
|
|
sf.Prefix_ = lev0.LetTxt(pref)
|
|
sf.Prefix_ = lev0.LetTxt(pref)
|
|
|
return sf
|
|
return sf
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// IsTerm -- возвращает признак логирования.
|
|
// IsTerm -- возвращает признак логирования.
|
|
|
-func (sf *LogBuf) IsTerm() core_spec.ISafeBool {
|
|
|
|
|
|
|
+func (sf *LogBuf) IsTerm() *lev0.MSafeBool {
|
|
|
return sf.IsTerm_
|
|
return sf.IsTerm_
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// GetErr -- возвращает сообщение ошибки по номеру.
|
|
// GetErr -- возвращает сообщение ошибки по номеру.
|
|
|
-func (sf *LogBuf) GetErr(num lev0.Int) log_msg.ILogMsg {
|
|
|
|
|
|
|
+func (sf *LogBuf) GetErr(num lev0.Num) log_msg.ILogMsg {
|
|
|
sf.RLock()
|
|
sf.RLock()
|
|
|
defer sf.RUnlock()
|
|
defer sf.RUnlock()
|
|
|
if len(sf.lstErr) == 0 {
|
|
if len(sf.lstErr) == 0 {
|
|
|
msg := sf.Prefix_.Get() + "not error msg"
|
|
msg := sf.Prefix_.Get() + "not error msg"
|
|
|
return log_msg.NewLogMsg(log_msg.DEBUG, msg)
|
|
return log_msg.NewLogMsg(log_msg.DEBUG, msg)
|
|
|
}
|
|
}
|
|
|
- if num >= lev0.Int(len(sf.lstErr)) {
|
|
|
|
|
|
|
+ if num >= lev0.Num(len(sf.lstErr)) {
|
|
|
return sf.lstErr[len(sf.lstErr)-1]
|
|
return sf.lstErr[len(sf.lstErr)-1]
|
|
|
}
|
|
}
|
|
|
if num <= 0 {
|
|
if num <= 0 {
|
|
@@ -92,14 +91,14 @@ func (sf *LogBuf) GetErr(num lev0.Int) log_msg.ILogMsg {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Get -- возвращает сообщение по номеру.
|
|
// Get -- возвращает сообщение по номеру.
|
|
|
-func (sf *LogBuf) Get(num lev0.Int) log_msg.ILogMsg {
|
|
|
|
|
|
|
+func (sf *LogBuf) Get(num lev0.Num) log_msg.ILogMsg {
|
|
|
sf.RLock()
|
|
sf.RLock()
|
|
|
defer sf.RUnlock()
|
|
defer sf.RUnlock()
|
|
|
msg := sf.Prefix_.Get() + "*no msg*"
|
|
msg := sf.Prefix_.Get() + "*no msg*"
|
|
|
if len(sf.lst) == 0 {
|
|
if len(sf.lst) == 0 {
|
|
|
return log_msg.NewLogMsg(log_msg.DEBUG, msg)
|
|
return log_msg.NewLogMsg(log_msg.DEBUG, msg)
|
|
|
}
|
|
}
|
|
|
- if num >= lev0.Int(len(sf.lst)) {
|
|
|
|
|
|
|
+ if num >= lev0.Num(len(sf.lst)) {
|
|
|
return log_msg.NewLogMsg(log_msg.DEBUG, msg)
|
|
return log_msg.NewLogMsg(log_msg.DEBUG, msg)
|
|
|
}
|
|
}
|
|
|
if num <= 0 {
|
|
if num <= 0 {
|
|
@@ -109,11 +108,11 @@ func (sf *LogBuf) Get(num lev0.Int) log_msg.ILogMsg {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Debug -- сообщение отладки.
|
|
// Debug -- сообщение отладки.
|
|
|
-func (sf *LogBuf) Debug(fTxt lev0.ATxt, args ...any) {
|
|
|
|
|
|
|
+func (sf *LogBuf) Debug(fTxt lev0.Txt, args ...any) {
|
|
|
sf.Lock()
|
|
sf.Lock()
|
|
|
defer sf.Unlock()
|
|
defer sf.Unlock()
|
|
|
strMsg := lev0.Sprintf(fTxt, args...)
|
|
strMsg := lev0.Sprintf(fTxt, args...)
|
|
|
- msg := sf.Prefix_.Get() + lev0.ATxt(strMsg)
|
|
|
|
|
|
|
+ msg := sf.Prefix_.Get() + lev0.Txt(strMsg)
|
|
|
_msg := log_msg.NewLogMsg(log_msg.DEBUG, msg)
|
|
_msg := log_msg.NewLogMsg(log_msg.DEBUG, msg)
|
|
|
sf.lst = append(sf.lst, _msg)
|
|
sf.lst = append(sf.lst, _msg)
|
|
|
sf.checkLen()
|
|
sf.checkLen()
|
|
@@ -121,11 +120,11 @@ func (sf *LogBuf) Debug(fTxt lev0.ATxt, args ...any) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Info -- информационные сообщения.
|
|
// Info -- информационные сообщения.
|
|
|
-func (sf *LogBuf) Info(fMsg lev0.ATxt, args ...any) {
|
|
|
|
|
|
|
+func (sf *LogBuf) Info(fMsg lev0.Txt, args ...any) {
|
|
|
sf.Lock()
|
|
sf.Lock()
|
|
|
defer sf.Unlock()
|
|
defer sf.Unlock()
|
|
|
strMsg := lev0.Sprintf(fMsg, args...)
|
|
strMsg := lev0.Sprintf(fMsg, args...)
|
|
|
- msg := sf.Prefix_.Get() + lev0.ATxt(strMsg)
|
|
|
|
|
|
|
+ msg := sf.Prefix_.Get() + lev0.Txt(strMsg)
|
|
|
_msg := log_msg.NewLogMsg(log_msg.INFO, msg)
|
|
_msg := log_msg.NewLogMsg(log_msg.INFO, msg)
|
|
|
sf.lst = append(sf.lst, _msg)
|
|
sf.lst = append(sf.lst, _msg)
|
|
|
sf.checkLen()
|
|
sf.checkLen()
|
|
@@ -133,11 +132,11 @@ func (sf *LogBuf) Info(fMsg lev0.ATxt, args ...any) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Warn -- предупреждающие сообщения.
|
|
// Warn -- предупреждающие сообщения.
|
|
|
-func (sf *LogBuf) Warn(fMsg lev0.ATxt, args ...any) {
|
|
|
|
|
|
|
+func (sf *LogBuf) Warn(fMsg lev0.Txt, args ...any) {
|
|
|
sf.Lock()
|
|
sf.Lock()
|
|
|
defer sf.Unlock()
|
|
defer sf.Unlock()
|
|
|
strMsg := lev0.Sprintf(fMsg, args...)
|
|
strMsg := lev0.Sprintf(fMsg, args...)
|
|
|
- msg := sf.Prefix_.Get() + lev0.ATxt(strMsg)
|
|
|
|
|
|
|
+ msg := sf.Prefix_.Get() + lev0.Txt(strMsg)
|
|
|
_msg := log_msg.NewLogMsg(log_msg.WARN, msg)
|
|
_msg := log_msg.NewLogMsg(log_msg.WARN, msg)
|
|
|
sf.lst = append(sf.lst, _msg)
|
|
sf.lst = append(sf.lst, _msg)
|
|
|
sf.checkLen()
|
|
sf.checkLen()
|
|
@@ -149,7 +148,7 @@ func (sf *LogBuf) Err(err *lev0.LErr, args ...any) {
|
|
|
sf.Lock()
|
|
sf.Lock()
|
|
|
defer sf.Unlock()
|
|
defer sf.Unlock()
|
|
|
strMsg := fmt.Sprintf(err.String(), args...)
|
|
strMsg := fmt.Sprintf(err.String(), args...)
|
|
|
- msg := sf.Prefix_.Get() + lev0.ATxt(strMsg)
|
|
|
|
|
|
|
+ msg := sf.Prefix_.Get() + lev0.Txt(strMsg)
|
|
|
_msg := log_msg.NewLogMsg(log_msg.ERROR, msg)
|
|
_msg := log_msg.NewLogMsg(log_msg.ERROR, msg)
|
|
|
sf.lst = append(sf.lst, _msg)
|
|
sf.lst = append(sf.lst, _msg)
|
|
|
sf.lstErr = append(sf.lstErr, _msg)
|
|
sf.lstErr = append(sf.lstErr, _msg)
|
|
@@ -159,10 +158,10 @@ func (sf *LogBuf) Err(err *lev0.LErr, args ...any) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Size -- возвращает размер буфера.
|
|
// Size -- возвращает размер буфера.
|
|
|
-func (sf *LogBuf) Size() lev0.Int {
|
|
|
|
|
|
|
+func (sf *LogBuf) Size() lev0.Num {
|
|
|
sf.RLock()
|
|
sf.RLock()
|
|
|
defer sf.RUnlock()
|
|
defer sf.RUnlock()
|
|
|
- return lev0.Int(len(sf.lst))
|
|
|
|
|
|
|
+ return lev0.Num(len(sf.lst))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Проверяет длину общую лога.
|
|
// Проверяет длину общую лога.
|