Skip to content

Commit

Permalink
release log gate if disable-gated-logs flag is set (#24280) (#24475)
Browse files Browse the repository at this point in the history
* release log gate if disable-gated-logs flag is set

* CL

* Update changelog/24280.txt



---------

Co-authored-by: Peter Wilson <[email protected]>
Co-authored-by: Josh Black <[email protected]>
  • Loading branch information
3 people authored Dec 11, 2023
1 parent 77d4cad commit 96cfe2c
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 0 deletions.
3 changes: 3 additions & 0 deletions changelog/24280.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:improvement
command/server: display logs on startup immediately if disable-gated-logs flag is set
```
5 changes: 5 additions & 0 deletions command/agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,11 @@ func (c *AgentCommand) Run(args []string) int {
}
c.logger = l

// release log gate if the disable-gated-logs flag is set
if c.logFlags.flagDisableGatedLogs {
c.logGate.Flush()
}

infoKeys := make([]string, 0, 10)
info := make(map[string]string)
info["log level"] = config.LogLevel
Expand Down
2 changes: 2 additions & 0 deletions command/commands.go
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,8 @@ const (
flagNameDisableRedirects = "disable-redirects"
// flagNameCombineLogs is used to specify whether log output should be combined and sent to stdout
flagNameCombineLogs = "combine-logs"
// flagDisableGatedLogs is used to disable gated logs and immediately show the vault logs as they become available
flagDisableGatedLogs = "disable-gated-logs"
// flagNameLogFile is used to specify the path to the log file that Vault should use for logging
flagNameLogFile = "log-file"
// flagNameLogRotateBytes is the flag used to specify the number of bytes a log file should be before it is rotated.
Expand Down
8 changes: 8 additions & 0 deletions command/log_flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
// logFlags are the 'log' related flags that can be shared across commands.
type logFlags struct {
flagCombineLogs bool
flagDisableGatedLogs bool
flagLogLevel string
flagLogFormat string
flagLogFile string
Expand All @@ -38,6 +39,13 @@ func (f *FlagSet) addLogFlags(l *logFlags) {
Hidden: true,
})

f.BoolVar(&BoolVar{
Name: flagDisableGatedLogs,
Target: &l.flagDisableGatedLogs,
Default: false,
Hidden: true,
})

f.StringVar(&StringVar{
Name: flagNameLogLevel,
Target: &l.flagLogLevel,
Expand Down
5 changes: 5 additions & 0 deletions command/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -1077,6 +1077,11 @@ func (c *ServerCommand) Run(args []string) int {
c.logger = l
c.allLoggers = append(c.allLoggers, l)

// flush logs right away if the server is started with the disable-gated-logs flag
if c.logFlags.flagDisableGatedLogs {
c.flushLog()
}

// reporting Errors found in the config
for _, cErr := range configErrors {
c.logger.Warn(cErr.String())
Expand Down

0 comments on commit 96cfe2c

Please sign in to comment.