Skip to content

Commit

Permalink
algod: Write to stdout when config.LogSizeLimit is 0 or -o is passed …
Browse files Browse the repository at this point in the history
…to algod. (#3903)
  • Loading branch information
winder committed Apr 23, 2022
1 parent 163ad18 commit 452af1c
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 3 deletions.
7 changes: 6 additions & 1 deletion cmd/algod/main.go
Expand Up @@ -50,10 +50,11 @@ var versionCheck = flag.Bool("v", false, "Display and write current build versio
var branchCheck = flag.Bool("b", false, "Display the git branch behind the build")
var channelCheck = flag.Bool("c", false, "Display and release channel behind the build")
var initAndExit = flag.Bool("x", false, "Initialize the ledger and exit")
var logToStdout = flag.Bool("o", false, "Write to stdout instead of node.log by overriding config.LogSizeLimit to 0")
var peerOverride = flag.String("p", "", "Override phonebook with peer ip:port (or semicolon separated list: ip:port;ip:port;ip:port...)")
var listenIP = flag.String("l", "", "Override config.EndpointAddress (REST listening address) with ip:port")
var sessionGUID = flag.String("s", "", "Telemetry Session GUID to use")
var telemetryOverride = flag.String("t", "", `Override telemetry setting if supported (Use "true", "false", "0" or "1"`)
var telemetryOverride = flag.String("t", "", `Override telemetry setting if supported (Use "true", "false", "0" or "1")`)
var seed = flag.String("seed", "", "input to math/rand.Seed()")

func main() {
Expand Down Expand Up @@ -292,6 +293,10 @@ func run() int {
}
}

if logToStdout != nil && *logToStdout {
cfg.LogSizeLimit = 0
}

err = s.Initialize(cfg, phonebookAddresses, string(genesisText))
if err != nil {
fmt.Fprintln(os.Stderr, err)
Expand Down
2 changes: 1 addition & 1 deletion config/localTemplate.go
Expand Up @@ -115,7 +115,7 @@ type Local struct {
// SRV-based phonebook
DNSBootstrapID string `version[0]:"<network>.algorand.network"`

// Log file size limit in bytes
// Log file size limit in bytes. When set to 0 logs will be written to stdout.
LogSizeLimit uint64 `version[0]:"1073741824"`

// text/template for creating log archive filename.
Expand Down
9 changes: 8 additions & 1 deletion daemon/algod/server.go
Expand Up @@ -20,6 +20,7 @@ import (
"context"
"errors"
"fmt"
"io"
"io/ioutil"
"net"
"net/http"
Expand Down Expand Up @@ -82,7 +83,13 @@ func (s *Server) Initialize(cfg config.Local, phonebookAddresses []string, genes
maxLogAge = 0
}
}
logWriter := logging.MakeCyclicFileWriter(liveLog, archive, cfg.LogSizeLimit, maxLogAge)

var logWriter io.Writer
if cfg.LogSizeLimit > 0 {
logWriter = logging.MakeCyclicFileWriter(liveLog, archive, cfg.LogSizeLimit, maxLogAge)
} else {
logWriter = os.Stdout
}
s.log.SetOutput(logWriter)
s.log.SetJSONFormatter()
s.log.SetLevel(logging.Level(cfg.BaseLoggerDebugLevel))
Expand Down

0 comments on commit 452af1c

Please sign in to comment.