loggerutils
packageThis package is not in the latest version of its module.
Details
Valid go.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Index¶
Constants¶
const DefaultTemplate = "{{.ID}}"DefaultTemplate defines the defaults template logger should use.
Variables¶
var ErrQueueClosed =errors.New("queue is closed")Functions¶
Types¶
typeDecoder¶
type Decoder interface {// Reset resets the decoder// Reset is called for certain events, such as log rotationsReset(io.Reader)// Decode decodes the next log message from the streamDecode() (*logger.Message,error)// Close signals to the decoder that it can release whatever resources it was using.Close()}Decoder is for reading logsIt is created by the log reader by calling the `MakeDecoderFunc`
typeGetTailReaderFunc¶
type GetTailReaderFunc func(ctxcontext.Context, fSizeReaderAt, nLogLinesint) (rdrSizeReaderAt, nLinesint, errerror)
GetTailReaderFunc is used to truncate a reader to only read as much as is requiredin order to get the passed in number of log lines.It returns the sectioned reader, the number of lines that the section readercontains, and any error that occurs.
typeLogFile¶
type LogFile struct {// contains filtered or unexported fields}LogFile is Logger implementation for default Docker logging.
funcNewLogFile¶
func NewLogFile(logPathstring, capacityint64, maxFilesint, compressbool, decodeFuncMakeDecoderFn, permsos.FileMode, getTailReaderGetTailReaderFunc) (*LogFile,error)
NewLogFile creates new LogFile
func (*LogFile)ReadLogs¶
func (w *LogFile) ReadLogs(ctxcontext.Context, configlogger.ReadConfig) *logger.LogWatcher
ReadLogs decodes entries from log files.
It is the caller's responsibility to call ConsumerGone on the LogWatcher.
typeMessageQueue¶
type MessageQueue struct {// contains filtered or unexported fields}MessageQueue is a queue for log messages.
MessageQueue.Enqueue will block when the queue is full.To dequeue messages callMessageQueue.Receiver and pull messages off thereturned channel.
Closing only prevents new messages from being added to the queue.The queue can still be drained after close.
The zero value of MessageQueue is safe to use, but does not do any internalbuffering (queue size is 0).
funcNewMessageQueue¶
func NewMessageQueue(maxSizeint) *MessageQueue
NewMessageQueue creates a new queue with the specified size.
func (*MessageQueue)Close¶
func (q *MessageQueue) Close()
Close prevents any new messages from being added to the queue.
func (*MessageQueue)Enqueue¶
Enqueue adds the provided message to the queue.Enqueue blocks if the queue is full.
The two possible error cases are:1. The provided context is cancelled2.ErrQueueClosed when the queue has been closed.
func (*MessageQueue)Receiver¶
func (q *MessageQueue) Receiver() <-chan *logger.Message
Receiver returns a channel that can be used to dequeue messagesThe channel will be closed when the message queue is closed but may havemessages buffered.