diff --git a/cmd/circolog-tail/main.go b/cmd/circolog-tail/main.go index 4d13950..e0ecfd2 100644 --- a/cmd/circolog-tail/main.go +++ b/cmd/circolog-tail/main.go @@ -57,11 +57,14 @@ func main() { addr := flag.String("addr", "localhost:9080", "http service address") querySocket := flag.String("socket", "", "Path to a unix domain socket for the HTTP server") backlogLimit := flag.Int("n", -1, "Limit the backlog length, defaults to no limit (-1)") + var format formatter.Format + format = formatter.FormatSyslog + flag.Var(&format, "fmt", "Output format [syslog|json]") var filter filtering.ExprValue flag.Var(&filter, "where", "sql-like query to filter logs") // TODO: change to color-mode=auto/no/always hasColor := BoolAuto_AUTO - flag.Var(&hasColor, "color", "dis/enable colors") + flag.Var(&hasColor, "color", "dis/enable colors; yes/no/auto") flag.Parse() if hasColor == BoolAuto_NO || (!isatty.IsTerminal(os.Stdout.Fd()) && hasColor != BoolAuto_YES) { @@ -120,10 +123,12 @@ func main() { if !filter.Validate(parsed) { continue } - if err := formatter.WriteFormatted(os.Stdout, formatter.FormatSyslog, parsed); err != nil { + if err := formatter.WriteFormatted(os.Stdout, format, parsed); err != nil { log.Println("error printing", err) } - fmt.Println() + if format == formatter.FormatSyslog { // oops + fmt.Println() + } } }()