release log gate if disable-gated-logs flag is set (#24280)

* release log gate if disable-gated-logs flag is set

* CL

* Update changelog/24280.txt

Co-authored-by: Josh Black <raskchanky@gmail.com>

---------

Co-authored-by: Peter Wilson <peter.wilson@hashicorp.com>
Co-authored-by: Josh Black <raskchanky@gmail.com>
This commit is contained in:
Hamid Ghaf
2023-12-11 08:08:48 -08:00
committed by GitHub
parent 28ce9c5a4c
commit 57b6b74283
6 changed files with 28 additions and 0 deletions

3
changelog/24280.txt Normal file
View File

@@ -0,0 +1,3 @@
```release-note:improvement
command/server: display logs on startup immediately if disable-gated-logs flag is set
```

View File

@@ -222,6 +222,11 @@ func (c *AgentCommand) Run(args []string) int {
InferLevelsWithTimestamp: true,
})
// 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

View File

@@ -148,6 +148,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.

View File

@@ -15,6 +15,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
@@ -41,6 +42,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,

View File

@@ -210,6 +210,11 @@ func (c *ProxyCommand) 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

View File

@@ -1104,6 +1104,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())