Add ability to use json structured logging format.

Signed-off-by: Eric Myhre <hash@exultant.us>
This commit is contained in:
Eric Myhre 2015-10-13 18:03:21 -05:00
parent 872c4ac223
commit 2add2bc41a
1 changed files with 13 additions and 0 deletions

13
main.go
View File

@ -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 {