wrap `log` messages with `hclog` (#11291)

This commit is contained in:
Luiz Aoqui 2021-10-12 14:38:44 -04:00 committed by GitHub
parent 679c547aa3
commit 3e0bad5a41
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

3
.changelog/11291.txt Normal file
View File

@ -0,0 +1,3 @@
```release-note:bug
agent: Fixed an issue that caused some non-JSON log output when `log_json` was enabled
```

View File

@ -470,7 +470,6 @@ func SetupLoggers(ui cli.Ui, config *Config) (*logutils.LevelFilter, *gatedwrite
} }
logOutput := io.MultiWriter(writers...) logOutput := io.MultiWriter(writers...)
log.SetOutput(logOutput)
return logFilter, logGate, logOutput return logFilter, logGate, logOutput
} }
@ -649,6 +648,12 @@ func (c *Command) Run(args []string) int {
JSONFormat: config.LogJson, JSONFormat: config.LogJson,
}) })
// Wrap log messages emitted with the 'log' package.
// These usually come from external dependencies.
log.SetOutput(logger.StandardWriter(&hclog.StandardLoggerOptions{InferLevels: true}))
log.SetPrefix("")
log.SetFlags(0)
// Swap out UI implementation if json logging is enabled // Swap out UI implementation if json logging is enabled
if config.LogJson { if config.LogJson {
c.Ui = &logging.HcLogUI{Log: logger} c.Ui = &logging.HcLogUI{Log: logger}