@ -52,11 +52,12 @@ var (
logjsonFlag = & cli . BoolFlag {
Name : "log.json" ,
Usage : "Format logs with JSON" ,
Hidden : true ,
Category : flags . LoggingCategory ,
}
logfm tFlag = & cli . Bool Flag{
Name : "log.log fmt" ,
Usage : "Format logs with logfmt " ,
logForma tFlag = & cli . String Flag{
Name : "log.for ma t" ,
Usage : "Log format to use (json|logfmt|terminal) " ,
Category : flags . LoggingCategory ,
}
logFileFlag = & cli . StringFlag {
@ -120,7 +121,7 @@ var Flags = []cli.Flag{
verbosityFlag ,
vmoduleFlag ,
logjsonFlag ,
logfm tFlag ,
logForma tFlag ,
logFileFlag ,
backtraceAtFlag ,
debugFlag ,
@ -151,13 +152,25 @@ func Setup(ctx *cli.Context) error {
useColor := logFile == "" && os . Getenv ( "TERM" ) != "dumb" && ( isatty . IsTerminal ( os . Stderr . Fd ( ) ) || isatty . IsCygwinTerminal ( os . Stderr . Fd ( ) ) )
var logfmt log . Format
if ctx . Bool ( logjsonFlag . Name ) {
switch ctx . String ( logFormatFlag . Name ) {
case "json" :
logfmt = log . JSONFormat ( )
} else if ctx . Bool ( logfmtFlag . Name ) {
case "logfmt" :
logfmt = log . LogfmtFormat ( )
case "terminal" :
logfmt = log . TerminalFormat ( useColor )
case "" :
// Retain backwards compatibility with `--log.json` flag if `--log.format` not set
if ctx . Bool ( logjsonFlag . Name ) {
defer log . Warn ( "The flag '--log.json' is deprecated, please use '--log.format=json' instead" )
logfmt = log . JSONFormat ( )
} else {
logfmt = log . TerminalFormat ( useColor )
}
default :
// Unknown log format specified
return fmt . Errorf ( "unknown log format: %v" , ctx . String ( logFormatFlag . Name ) )
}
if logFile != "" {
var err error