logio

package
v0.0.0-...-0594d08 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2023 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package logio определения сущностей для работы с обоими видами логов.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrorLogIntegrityCompromised

type ErrorLogIntegrityCompromised struct{}

ErrorLogIntegrityCompromised возвращается, если в логе найдена какая-то ерунда противоречащая предположениям об его устройстве.

func (ErrorLogIntegrityCompromised) Error

type LookupResult

type LookupResult interface {
	// contains filtered or unexported methods
}

LookupResult обёртка для результата поиска.

func LookupNext

func LookupNext(name string, id types.Index, logger func(error)) (_ LookupResult, err error)

LookupNext поиск отступа следующего за данным события. Событие НЕ ДОЛЖНО быть первым или последним в логе. Файл ОБЯЗАТЕЛЬНО должен содержать записи событий относящихся как к более раннему, так и к более позднему периоду.

type LookupResultFound

type LookupResultFound int64

LookupResultFound возвращается когда искомое событие было найдено. Значение содержит смещение в файле для следующего за данным событие, кроме случая когда само событие является последним в файле – в этом случае значение отрицательное.

func (LookupResultFound) Int64

func (v LookupResultFound) Int64() int64

Int64 значение смещения.

type LookupResultIsMissing

type LookupResultIsMissing struct {
	// LastBeforeID последнее событие перед данным.
	LastBeforeID     types.Index
	LastBeforeOffset uint64

	// NextID первое событие после данного.
	NextID     types.Index
	NextOffset uint64
}

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

type ReadIterator

type ReadIterator struct {
	// contains filtered or unexported fields
}

ReadIterator итератор по файлу с данными лога.

func NewReader

func NewReader(name string, opts ...ReaderOption) (_ *ReadIterator, err error)

NewReader создаёт итератор для чтения записанных в файл событий из лога.

func NewReaderInProcess

func NewReaderInProcess(w *Writer, opts ...ReaderOption) (*ReadIterator, error)

NewReaderInProcess вычитка файла с логом всё ещё используемого системой.

func (*ReadIterator) Close

func (it *ReadIterator) Close() error

Close закрытие источника итерирования.

func (*ReadIterator) Err

func (it *ReadIterator) Err() error

func (*ReadIterator) Event

func (it *ReadIterator) Event() (id types.Index, data []byte, size int)

Event получить событие. Кроме данных события возвращается так же длина данных из файла, которые пришлось вычитать.

func (*ReadIterator) Next

func (it *ReadIterator) Next() bool

Next вычитка следующего события.

type ReaderOption

type ReaderOption interface {
	String() string
	// contains filtered or unexported methods
}

ReaderOption тип опции для создания итератора по логу.

func ReaderReadBefore

func ReaderReadBefore(index types.Index) ReaderOption

ReaderReadBefore читает только события до данного.

func ReaderReadTo

func ReaderReadTo(index types.Index) ReaderOption

ReaderReadTo читает только события по данное, т.е. включительно.

func ReaderStart

func ReaderStart(offset uint64) ReaderOption

ReaderStart устанавливает начальную позицию чтения.

type Snapshots

type Snapshots struct {
	// contains filtered or unexported fields
}

Snapshots объект для чтения имён слепков.

func NewSnapshots

func NewSnapshots(name string, logger func(err error)) *Snapshots

NewSnapshots конструктор Snapshots.

func (*Snapshots) ReadName

func (s *Snapshots) ReadName() (string, error)

ReadName чтение имени последнего слепка из лога имён слепков.

func (*Snapshots) Rotate

func (s *Snapshots) Rotate() error

Rotate ротация файла.

func (*Snapshots) WriteName

func (s *Snapshots) WriteName(name string) error

WriteName запись имени последнего слепка.

type Writer

type Writer struct {
	// contains filtered or unexported fields
}

Writer писалка логов.

func NewWriter

func NewWriter(
	name string,
	frame int,
	evlim int,
	opts ...WriterOption,
) (*Writer, error)

NewWriter конструктор новой писалки в файл. Параметры:

  • name имя файла. Если он уже существует, то будет переоткрыт.
  • frame размер кадра. Если файл существует, то этот параметр будет взят из файла.
  • evlim максимальная длина данных события.

func (*Writer) Close

func (w *Writer) Close() error

Close закрытие записи лога.

func (*Writer) Flush

func (w *Writer) Flush() error

Flush сброс буфера.

func (*Writer) LookupNext

func (w *Writer) LookupNext(id types.Index, logger func(err error)) (LookupResult, error)

LookupNext поиск события следующего за данным.

func (*Writer) Pos

func (w *Writer) Pos() uint64

Pos текущая позиция записи в файл.

func (*Writer) WriteEvent

func (w *Writer) WriteEvent(id types.Index, data []byte) (int, error)

WriteEvent запись события с данным идентификатором. Возвращает размер всех записанных данных.

type WriterOption

type WriterOption interface {
	String() string
	// contains filtered or unexported methods
}

WriterOption тип опции для создания писалки логов.

func WriterBufferSize

func WriterBufferSize(size int) WriterOption

WriterBufferSize задаёт размер буфера в числе.

func WriterFileSize

func WriterFileSize(size uint64) WriterOption

WriterFileSize задаёт физический размер файла.

Jump to

Keyboard shortcuts

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