ilog_buf.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package ktypes
  2. import (
  3. . "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
  4. )
  5. // ILogMsg -- сообщение лога
  6. type ILogMsg interface {
  7. // CreateAt -- когда создано
  8. CreateAt() ATime
  9. // Level -- уровень сообщения
  10. Level() string
  11. // Msg -- текст сообщения
  12. Msg() string
  13. // String -- форматированная строка
  14. String() string
  15. }
  16. // ILogBus -- публикует в топики логи
  17. type ILogBus interface {
  18. // DebugAdd -- добавляет топик для отладочного сообщения
  19. DebugAdd(topic ATopic, bus IBusClient)
  20. }
  21. // ILogBuf -- буферизованный лог для диагностики
  22. //
  23. // Буфер для Error -- отдельный
  24. type ILogBuf interface {
  25. // Debug -- сообщение отладки
  26. Debug(fMsg string, args ...any)
  27. // LogBus -- возвращает объект публикации в шину
  28. // LogBus()ILogBus
  29. // Info -- информационные сообщения
  30. Info(fMsg string, args ...any)
  31. // Warn -- предупреждающие сообщения
  32. Warn(fMsg string, args ...any)
  33. // Err -- сообщения об ошибках
  34. Err(fMsg string, args ...any)
  35. // Get -- возвращает сообщение по номеру (0..99)
  36. Get(num int) ILogMsg
  37. // GetErr -- возвращает сообщение ошибки по номеру (0..99)
  38. GetErr(num int) ILogMsg
  39. // Size -- возвращает размер лога
  40. Size() int
  41. // IsTerm -- возвращает признак логирования в терминал
  42. IsTerm() ISafeBool
  43. }