summaryrefslogtreecommitdiff
path: root/internal/io/journal/reader_unsupported.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/io/journal/reader_unsupported.go')
-rw-r--r--internal/io/journal/reader_unsupported.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/internal/io/journal/reader_unsupported.go b/internal/io/journal/reader_unsupported.go
new file mode 100644
index 0000000..83b4a73
--- /dev/null
+++ b/internal/io/journal/reader_unsupported.go
@@ -0,0 +1,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
+}