summaryrefslogtreecommitdiff
path: root/internal/fs/tailfile.go
diff options
context:
space:
mode:
authorPaul Bütow <pbuetow@mimecast.com>2020-01-20 18:41:05 +0000
committerPaul Bütow <pbuetow@mimecast.com>2020-01-21 14:35:23 +0000
commitc128865c4c7411c29a59fca9a3a2f95537686d7b (patch)
tree193bccc70d942c8b70cc93fae2670263701e43aa /internal/fs/tailfile.go
parent3755a9911ecb05886577095f2b8cc8b9e4066a3a (diff)
Move commands to cmd/ and move internal dependencies to internal/
Diffstat (limited to 'internal/fs/tailfile.go')
-rw-r--r--internal/fs/tailfile.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/internal/fs/tailfile.go b/internal/fs/tailfile.go
new file mode 100644
index 0000000..a19d4e6
--- /dev/null
+++ b/internal/fs/tailfile.go
@@ -0,0 +1,27 @@
+package fs
+
+import "sync"
+
+// TailFile is to tail and filter a log file.
+type TailFile struct {
+ readFile
+}
+
+// NewTailFile returns a new file tailer.
+func NewTailFile(filePath string, globID string, serverMessages chan<- string, limiter chan struct{}) TailFile {
+ var mutex sync.Mutex
+
+ return TailFile{
+ readFile: readFile{
+ filePath: filePath,
+ stop: make(chan struct{}),
+ globID: globID,
+ serverMessages: serverMessages,
+ retry: true,
+ canSkipLines: true,
+ seekEOF: true,
+ limiter: limiter,
+ mutex: &mutex,
+ },
+ }
+}