cmd/evm: print error for unknown trace format

This commit is contained in:
Felix Lange 2024-12-09 22:57:48 +01:00
parent 2c99806baa
commit ad507dc74b

View file

@ -239,13 +239,20 @@ func tracerFromFlags(ctx *cli.Context) *tracing.Hooks {
EnableReturnData: !ctx.Bool(TraceDisableReturnDataFlag.Name), EnableReturnData: !ctx.Bool(TraceDisableReturnDataFlag.Name),
} }
switch { switch {
case ctx.Bool(TraceFlag.Name) && ctx.String(TraceFormatFlag.Name) == "struct": case ctx.Bool(TraceFlag.Name):
switch format := ctx.String(TraceFormatFlag.Name); format {
case "struct":
return logger.NewStreamingStructLogger(config, os.Stderr).Hooks() return logger.NewStreamingStructLogger(config, os.Stderr).Hooks()
case ctx.Bool(TraceFlag.Name) && ctx.String(TraceFormatFlag.Name) == "json": case "json":
return logger.NewJSONLogger(config, os.Stderr) return logger.NewJSONLogger(config, os.Stderr)
case ctx.Bool(TraceFlag.Name) && case "md", "markdown":
(ctx.String(TraceFormatFlag.Name) == "md" || ctx.String(TraceFormatFlag.Name) == "markdown"):
return logger.NewMarkdownLogger(config, os.Stderr).Hooks() return logger.NewMarkdownLogger(config, os.Stderr).Hooks()
default:
fmt.Fprintf(os.Stderr, "unknown trace format: %q\n", format)
os.Exit(1)
return nil
}
// Deprecated ways of configuring tracing.
case ctx.Bool(MachineFlag.Name): case ctx.Bool(MachineFlag.Name):
return logger.NewJSONLogger(config, os.Stderr) return logger.NewJSONLogger(config, os.Stderr)
case ctx.Bool(DebugFlag.Name): case ctx.Bool(DebugFlag.Name):