Add ability to use json structured logging format.
Signed-off-by: Eric Myhre <hash@exultant.us>
This commit is contained in:
parent
872c4ac223
commit
2add2bc41a
13
main.go
13
main.go
|
@ -50,6 +50,11 @@ func main() {
|
|||
Name: "log",
|
||||
Usage: "set the log file path where internal debug information is written",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "log-format",
|
||||
Value: "text",
|
||||
Usage: "set the format used by logs ('text' (default), or 'json')",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "root",
|
||||
Value: specs.LinuxStateDirectory,
|
||||
|
@ -83,6 +88,14 @@ func main() {
|
|||
}
|
||||
logrus.SetOutput(f)
|
||||
}
|
||||
switch context.GlobalString("log-format") {
|
||||
case "text":
|
||||
// retain logrus's default.
|
||||
case "json":
|
||||
logrus.SetFormatter(new(logrus.JSONFormatter))
|
||||
default:
|
||||
logrus.Fatalf("unknown log-format %q", context.GlobalString("log-format"))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
if err := app.Run(os.Args); err != nil {
|
||||
|
|
Loading…
Reference in New Issue