Documentation ¶
Overview ¶
Package tailer provides a class that is responsible for tailing log files and extracting new log lines to be passed into the virtual machines.
Index ¶
- func OneShot(t *Tailer) error
- type File
- type Tailer
- func (t *Tailer) AddPattern(pattern string) error
- func (t *Tailer) Close() error
- func (t *Tailer) Gc() error
- func (t *Tailer) SetOption(options ...func(*Tailer) error) error
- func (t *Tailer) StartGcLoop(duration time.Duration)
- func (t *Tailer) TailPath(pathname string) error
- func (t *Tailer) TailPattern(pattern string) error
- func (t *Tailer) WriteStatusHTML(w io.Writer) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type File ¶
type File struct { Name string // Given name for the file (possibly relative, used for displau) Pathname string // Full absolute path of the file used internally LastRead time.Time // time of the last read received on this handle // contains filtered or unexported fields }
File provides an abstraction over files and named pipes being tailed by `mtail`.
func NewFile ¶
NewFile returns a new File named by the given pathname. `seenBefore` indicates that mtail believes it's seen this pathname before, indicating we should retry on error to open the file. `seekToStart` indicates that the file should be tailed from offset 0, not EOF; the latter is true for rotated files and for files opened when mtail is in oneshot mode.
func (*File) Follow ¶
Follow reads from the file until EOF. It tracks log rotations (i.e new inode or device).
type Tailer ¶
type Tailer struct {
// contains filtered or unexported fields
}
Tailer receives notification of changes from a Watcher and extracts new log lines from files. It also handles new log file creation events and log rotations.
func New ¶
func New(lines chan<- *logline.LogLine, w watcher.Watcher, options ...func(*Tailer) error) (*Tailer, error)
New creates a new Tailer.
func (*Tailer) AddPattern ¶
AddPattern adds a pattern to the list of patterns to filter filenames against.
func (*Tailer) SetOption ¶
SetOption takes one or more option functions and applies them in order to Tailer.
func (*Tailer) StartGcLoop ¶
StartExpiryLoop runs a permanent goroutine to expire metrics every duration.
func (*Tailer) TailPattern ¶
TailPattern registers a pattern to be tailed. If pattern is a plain file then it is watched for updates and opened. If pattern is a glob, then all paths that match the glob are opened and watched, and the directories containing those matches, if any, are watched.