app

package
v1.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewSSHConfig

func NewSSHConfig(idRSA, user string) (*ssh.ClientConfig, error)

Types

type LogFile

type LogFile struct {
	*os.File
	// contains filtered or unexported fields
}

func NewLogFile

func NewLogFile(filename string, enabled bool) (*LogFile, error)

func (*LogFile) CloseAndRemove

func (lf *LogFile) CloseAndRemove() error

func (*LogFile) GetLineCount

func (lf *LogFile) GetLineCount() (int, error)

GetLineCount метод, который использует команду `wc -l file` для получения колва строк файла. В будущем планируется добавить поддержку Windows

func (*LogFile) PushLineWithLimit

func (lf *LogFile) PushLineWithLimit(line string, limitMB int) error

PushLineWithLimit метод для записи в конец строки. Если размер уже имеющегося файла превышает лимит, то мы его обраезам

func (*LogFile) ReadFullFile

func (lf *LogFile) ReadFullFile(targetLine int, callback func([]byte) []string)

ReadFullFile метод для чтения всего файла кусками. Вторым параметром передается колбек для большей мобильности метода. К примеру, получения кусочка данных и отправка их по вебсокетам и тд

func (*LogFile) ReadLines

func (lf *LogFile) ReadLines(startLine, endLine int, driver string) []string

ReadLines метод для чтения куска файла, начиная с `startLine` заканчивая `endLine`

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL