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
|
//go:build !windows
// +build !windows
package tail
import (
"log"
"os"
"os/exec"
"context"
"github.com/humanlogio/humanlog"
"github.com/humanlogio/humanlog/pkg/sink/stdiosink"
)
func tailLogsForPlatform(logFilePath string, opts *humanlog.HandlerOptions) {
cmd := exec.Command("tail", "-f", logFilePath)
stdout, _ := cmd.StdoutPipe()
if err := cmd.Start(); err != nil {
log.Fatal(err)
}
ctx := context.Background()
sink := stdiosink.NewStdio(os.Stdout, stdiosink.DefaultStdioOpts)
if err := humanlog.Scan(ctx, stdout, sink, opts); err != nil {
log.Fatal(err)
}
if err := cmd.Wait(); err != nil {
log.Fatal(err)
}
os.Exit(0)
}
|