Documentation
¶
Index ¶
- func NewSSHConfig(idRSA, user string) (*ssh.ClientConfig, error)
- type LogFile
- func (lf *LogFile) CloseAndRemove() error
- func (lf *LogFile) GetLineCount() (int, error)
- func (lf *LogFile) PushLineWithLimit(line string, limitMB int) error
- func (lf *LogFile) ReadFullFile(targetLine int, callback func([]byte) []string)
- func (lf *LogFile) ReadLines(startLine, endLine int, driver string) []string
- type ServerLogger
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewSSHConfig ¶
func NewSSHConfig(idRSA, user string) (*ssh.ClientConfig, error)
Types ¶
type LogFile ¶
func (*LogFile) CloseAndRemove ¶
func (*LogFile) GetLineCount ¶
GetLineCount метод, который использует команду `wc -l file` для получения колва строк файла. В будущем планируется добавить поддержку Windows
func (*LogFile) PushLineWithLimit ¶
PushLineWithLimit метод для записи в конец строки. Если размер уже имеющегося файла превышает лимит, то мы его обраезам
func (*LogFile) ReadFullFile ¶
ReadFullFile метод для чтения всего файла кусками. Вторым параметром передается колбек для большей мобильности метода. К примеру, получения кусочка данных и отправка их по вебсокетам и тд
type ServerLogger ¶
type ServerLogger struct {
ID int // айди сервера, его индекс в списке всех серверов, включая 0
File *LogFile // локальный файл, в котором сохраняется часть логов с сервера
// contains filtered or unexported fields
}
func NewServerLogger ¶
func NewServerLogger(id int, config config.ServerConfig) *ServerLogger
NewServerLogger метод для создания нового сервера для чтения логов
func (*ServerLogger) AppendWSConnection ¶
func (s *ServerLogger) AppendWSConnection(conn *websocket.Conn)
AppendWSConnection метод для добавления вебсокет соединения, которому будут отправлятся новые данные
func (*ServerLogger) Close ¶
func (s *ServerLogger) Close()
Close метод, который закрывает соединение с удаленным сервером
func (*ServerLogger) MultiLog ¶
func (s *ServerLogger) MultiLog(message string, args ...any)
MultiLog метод для одновременного логирования и отправки сообщения пользователю, который смотрит логи в вебе
func (*ServerLogger) RemoveWSConnection ¶
func (s *ServerLogger) RemoveWSConnection(conn *websocket.Conn)
RemoveWSConnection метод для удаления конкретнного вебсокет соединения
func (*ServerLogger) StartLogging ¶
func (s *ServerLogger) StartLogging(ctx context.Context, wg *sync.WaitGroup)