blob: 83b4a7371fb734049f0fb3a3d2d9a67cf1294c72 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
//go:build !linux
// Package journal provides a journalctl-backed file reader.
package journal
import (
"context"
"errors"
"runtime"
"github.com/mimecast/dtail/internal/io/line"
"github.com/mimecast/dtail/internal/lcontext"
"github.com/mimecast/dtail/internal/regex"
)
// ErrUnsupported reports that journal reading is only available on Linux.
var ErrUnsupported = errors.New("journal reader is only supported on linux")
// Reader is an unsupported journal reader stub on non-Linux systems.
type Reader struct{}
// NewReader returns an unsupported error on non-Linux systems.
func NewReader(_ []string, _ string, _ bool, _ chan<- string) (*Reader, error) {
return nil, errors.Join(ErrUnsupported, errors.New(runtime.GOOS))
}
// StartWithProcessor returns an unsupported error on non-Linux systems.
func (r *Reader) StartWithProcessor(context.Context, lcontext.LContext, line.Processor, regex.Regex) error {
return ErrUnsupported
}
// StartWithProcessorOptimized returns an unsupported error on non-Linux systems.
func (r *Reader) StartWithProcessorOptimized(context.Context, lcontext.LContext, line.Processor, regex.Regex) error {
return ErrUnsupported
}
// FilePath returns the journalctl command name.
func (r *Reader) FilePath() string {
return "journalctl"
}
// Retry returns false on non-Linux systems.
func (r *Reader) Retry() bool {
return false
}
|