package loggerutils
import "github.com/docker/docker/daemon/logger/loggerutils"
Index ¶
- Constants
- func ParseLogTag(info logger.Info, defaultTemplate string) (string, error)
- type Decoder
- type GetTailReaderFunc
- type LogFile
- func NewLogFile(logPath string, capacity int64, maxFiles int, compress bool, marshaller logger.MarshalFunc, decodeFunc MakeDecoderFn, perms os.FileMode, getTailReader GetTailReaderFunc) (*LogFile, error)
- func (w *LogFile) Close() error
- func (w *LogFile) MaxFiles() int
- func (w *LogFile) ReadLogs(config logger.ReadConfig, watcher *logger.LogWatcher)
- func (w *LogFile) WriteLogEntry(msg *logger.Message) error
- type MakeDecoderFn
- type SizeReaderAt
Constants ¶
const DefaultTemplate = "{{.ID}}"
DefaultTemplate defines the defaults template logger should use.
Functions ¶
func ParseLogTag ¶
ParseLogTag generates a context aware tag for consistency across different log drivers based on the context of the running container.
Types ¶
type Decoder ¶
type Decoder interface { // Reset resets the decoder // Reset is called for certain events, such as log rotations Reset(io.Reader) // Decode decodes the next log messeage from the stream Decode() (*logger.Message, error) // Close signals to the decoder that it can release whatever resources it was using. Close() }
Decoder is for reading logs It is created by the log reader by calling the `MakeDecoderFunc`
type GetTailReaderFunc ¶
type GetTailReaderFunc func(ctx context.Context, f SizeReaderAt, nLogLines int) (rdr io.Reader, nLines int, err error)
GetTailReaderFunc is used to truncate a reader to only read as much as is required in order to get the passed in number of log lines. It returns the sectioned reader, the number of lines that the section reader contains, and any error that occurs.
type LogFile ¶
type LogFile struct {
// contains filtered or unexported fields
}
LogFile is Logger implementation for default Docker logging.
func NewLogFile ¶
func NewLogFile(logPath string, capacity int64, maxFiles int, compress bool, marshaller logger.MarshalFunc, decodeFunc MakeDecoderFn, perms os.FileMode, getTailReader GetTailReaderFunc) (*LogFile, error)
NewLogFile creates new LogFile
func (*LogFile) Close ¶
Close closes underlying file and signals all readers to stop.
func (*LogFile) MaxFiles ¶
MaxFiles return maximum number of files
func (*LogFile) ReadLogs ¶
func (w *LogFile) ReadLogs(config logger.ReadConfig, watcher *logger.LogWatcher)
ReadLogs decodes entries from log files and sends them the passed in watcher
Note: Using the follow option can become inconsistent in cases with very frequent rotations and max log files is 1. TODO: Consider a different implementation which can effectively follow logs under frequent rotations.
func (*LogFile) WriteLogEntry ¶
WriteLogEntry writes the provided log message to the current log file. This may trigger a rotation event if the max file/capacity limits are hit.
type MakeDecoderFn ¶
MakeDecoderFn creates a decoder
type SizeReaderAt ¶
SizeReaderAt defines a ReaderAt that also reports its size. This is used for tailing log files.
Source Files ¶
file_unix.go follow.go log_tag.go logfile.go
Directories ¶
Path | Synopsis |
---|---|
daemon/logger/loggerutils/cache |
- Version
- v20.10.21+incompatible
- Published
- Oct 25, 2022
- Platform
- js/wasm
- Imports
- 20 packages
- Last checked
- 1 hour ago –
Tools for package owners.