Commit 3ec06301 authored by Conner Fromknecht's avatar Conner Fromknecht

feat: add LOG_TERMINAL flag, default to JSON

This commit modifies the BSS to default to JSON logs, which are more
useful in production. This can be overridden by setting
LOG_TERMINAL to true for debugging locally.
parent f52fc61e
---
'@eth-optimism/batch-submitter-service': patch
---
Default to JSON logs, add LOG_TERMINAL flag for debugging
...@@ -54,9 +54,11 @@ func Main(gitVersion string) func(ctx *cli.Context) error { ...@@ -54,9 +54,11 @@ func Main(gitVersion string) func(ctx *cli.Context) error {
return err return err
} }
logHandler = bsscore.SentryStreamHandler(os.Stdout, log.TerminalFormat(true)) logHandler = bsscore.SentryStreamHandler(os.Stdout, log.JSONFormat())
} else { } else if cfg.LogTerminal {
logHandler = log.StreamHandler(os.Stdout, log.TerminalFormat(true)) logHandler = log.StreamHandler(os.Stdout, log.TerminalFormat(true))
} else {
logHandler = log.StreamHandler(os.Stdout, log.JSONFormat())
} }
logLevel, err := log.LvlFromString(cfg.LogLevel) logLevel, err := log.LvlFromString(cfg.LogLevel)
......
...@@ -118,6 +118,11 @@ type Config struct { ...@@ -118,6 +118,11 @@ type Config struct {
// LogLevel is the lowest log level that will be output. // LogLevel is the lowest log level that will be output.
LogLevel string LogLevel string
// LogTerminal if true, prints to stdout in terminal format, otherwise
// prints using JSON. If SentryEnable is true this flag is ignored, and logs
// are printed using JSON.
LogTerminal bool
// SentryEnable if true, logs any error messages to sentry. SentryDsn // SentryEnable if true, logs any error messages to sentry. SentryDsn
// must also be set if SentryEnable is true. // must also be set if SentryEnable is true.
SentryEnable bool SentryEnable bool
...@@ -191,6 +196,7 @@ func NewConfig(ctx *cli.Context) (Config, error) { ...@@ -191,6 +196,7 @@ func NewConfig(ctx *cli.Context) (Config, error) {
ClearPendingTxs: ctx.GlobalBool(flags.ClearPendingTxsFlag.Name), ClearPendingTxs: ctx.GlobalBool(flags.ClearPendingTxsFlag.Name),
/* Optional Flags */ /* Optional Flags */
LogLevel: ctx.GlobalString(flags.LogLevelFlag.Name), LogLevel: ctx.GlobalString(flags.LogLevelFlag.Name),
LogTerminal: ctx.GlobalBool(flags.LogTerminalFlag.Name),
SentryEnable: ctx.GlobalBool(flags.SentryEnableFlag.Name), SentryEnable: ctx.GlobalBool(flags.SentryEnableFlag.Name),
SentryDsn: ctx.GlobalString(flags.SentryDsnFlag.Name), SentryDsn: ctx.GlobalString(flags.SentryDsnFlag.Name),
SentryTraceRate: ctx.GlobalDuration(flags.SentryTraceRateFlag.Name), SentryTraceRate: ctx.GlobalDuration(flags.SentryTraceRateFlag.Name),
......
...@@ -129,6 +129,13 @@ var ( ...@@ -129,6 +129,13 @@ var (
Value: "info", Value: "info",
EnvVar: prefixEnvVar("LOG_LEVEL"), EnvVar: prefixEnvVar("LOG_LEVEL"),
} }
LogTerminalFlag = cli.BoolFlag{
Name: "log-terminal",
Usage: "If true, outputs logs in terminal format, otherwise prints " +
"in JSON format. If SENTRY_ENABLE is set to true, this flag is " +
"ignored and logs are printed using JSON",
EnvVar: prefixEnvVar("LOG_TERMINAL"),
}
SentryEnableFlag = cli.BoolFlag{ SentryEnableFlag = cli.BoolFlag{
Name: "sentry-enable", Name: "sentry-enable",
Usage: "Whether or not to enable Sentry. If true, sentry-dsn must also be set", Usage: "Whether or not to enable Sentry. If true, sentry-dsn must also be set",
...@@ -197,8 +204,8 @@ var ( ...@@ -197,8 +204,8 @@ var (
EnvVar: prefixEnvVar("METRICS_PORT"), EnvVar: prefixEnvVar("METRICS_PORT"),
} }
HTTP2DisableFlag = cli.BoolFlag{ HTTP2DisableFlag = cli.BoolFlag{
Name: "http2-disable", Name: "http2-disable",
Usage: "Whether or not to disable HTTP/2 support.", Usage: "Whether or not to disable HTTP/2 support.",
EnvVar: prefixEnvVar("HTTP2_DISABLE"), EnvVar: prefixEnvVar("HTTP2_DISABLE"),
} }
) )
...@@ -224,6 +231,7 @@ var requiredFlags = []cli.Flag{ ...@@ -224,6 +231,7 @@ var requiredFlags = []cli.Flag{
var optionalFlags = []cli.Flag{ var optionalFlags = []cli.Flag{
LogLevelFlag, LogLevelFlag,
LogTerminalFlag,
SentryEnableFlag, SentryEnableFlag,
SentryDsnFlag, SentryDsnFlag,
SentryTraceRateFlag, SentryTraceRateFlag,
......
...@@ -3,6 +3,7 @@ ETH_NETWORK_NAME=clique ...@@ -3,6 +3,7 @@ ETH_NETWORK_NAME=clique
LOG_LEVEL=debug LOG_LEVEL=debug
BATCH_SUBMITTER_LOG_LEVEL=debug BATCH_SUBMITTER_LOG_LEVEL=debug
BATCH_SUBMITTER_LOG_TERMINAL=true
BATCH_SUBMITTER_MAX_L1_TX_SIZE=90000 BATCH_SUBMITTER_MAX_L1_TX_SIZE=90000
BATCH_SUBMITTER_MAX_BATCH_SUBMISSION_TIME=0 BATCH_SUBMITTER_MAX_BATCH_SUBMISSION_TIME=0
BATCH_SUBMITTER_POLL_INTERVAL=500ms BATCH_SUBMITTER_POLL_INTERVAL=500ms
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment