Fix logger initialization in exec input (#6492)

This commit is contained in:
Daniel Nelson 2019-10-07 12:18:36 -07:00 committed by GitHub
parent d7988915e9
commit 74c7dd3ce7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 7 deletions

View File

@ -158,6 +158,11 @@ func TestConfig_LoadDirectory(t *testing.T) {
MeasurementSuffix: "_myothercollector",
}
eConfig.Tags = make(map[string]string)
exec := c.Inputs[1].Input.(*exec.Exec)
require.NotNil(t, exec.Log)
exec.Log = nil
assert.Equal(t, ex, c.Inputs[1].Input,
"Merged Testdata did not produce a correct exec struct.")
assert.Equal(t, eConfig, c.Inputs[1].Config,

View File

@ -10,13 +10,12 @@ import (
"sync"
"time"
"github.com/kballard/go-shellquote"
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/internal"
"github.com/influxdata/telegraf/plugins/inputs"
"github.com/influxdata/telegraf/plugins/parsers"
"github.com/influxdata/telegraf/plugins/parsers/nagios"
"github.com/kballard/go-shellquote"
)
const sampleConfig = `
@ -50,7 +49,7 @@ type Exec struct {
parser parsers.Parser
runner Runner
log telegraf.Logger
Log telegraf.Logger `toml:"-"`
}
func NewExec() *Exec {
@ -161,7 +160,7 @@ func (e *Exec) ProcessCommand(command string, acc telegraf.Accumulator, wg *sync
if isNagios {
metrics, err = nagios.TryAddState(runErr, metrics)
if err != nil {
e.log.Errorf("Failed to add nagios state: %s", err)
e.Log.Errorf("Failed to add nagios state: %s", err)
}
}

View File

@ -96,7 +96,7 @@ func TestExec(t *testing.T) {
MetricName: "exec",
})
e := &Exec{
log: testutil.Logger{},
Log: testutil.Logger{},
runner: newRunnerMock([]byte(validJson), nil, nil),
Commands: []string{"testcommand arg1"},
parser: parser,
@ -126,7 +126,7 @@ func TestExecMalformed(t *testing.T) {
MetricName: "exec",
})
e := &Exec{
log: testutil.Logger{},
Log: testutil.Logger{},
runner: newRunnerMock([]byte(malformedJson), nil, nil),
Commands: []string{"badcommand arg1"},
parser: parser,
@ -143,7 +143,7 @@ func TestCommandError(t *testing.T) {
MetricName: "exec",
})
e := &Exec{
log: testutil.Logger{},
Log: testutil.Logger{},
runner: newRunnerMock(nil, nil, fmt.Errorf("exit status code 1")),
Commands: []string{"badcommand"},
parser: parser,