MM-11029 Adding plugin logging functionality. (#9034)

* Capturing stdout, stderr of plugins in logs.

* Cleanup go-plugin debug logs.

* Adding logging to plugin API

* Generating mocks.

* godoc convention
Этот коммит содержится в:
Christopher Speller
2018-07-03 09:58:28 -07:00
коммит произвёл GitHub
родитель 3848cb7e79
Коммит 83a3ac089c
13 изменённых файлов: 407 добавлений и 38 удалений

Просмотреть файл

@@ -5,7 +5,6 @@ package plugin
import (
"fmt"
"os"
"os/exec"
"path/filepath"
"strings"
@@ -29,7 +28,7 @@ func NewSupervisor(pluginInfo *model.BundleInfo, parentLogger *mlog.Logger, apiI
wrappedLogger := pluginInfo.WrapLogger(parentLogger)
hclogAdaptedLogger := &HclogAdapter{
wrappedLogger: wrappedLogger,
wrappedLogger: wrappedLogger.WithCallerSkip(1),
extrasKey: "wrapped_extras",
}
@@ -50,8 +49,8 @@ func NewSupervisor(pluginInfo *model.BundleInfo, parentLogger *mlog.Logger, apiI
HandshakeConfig: Handshake,
Plugins: pluginMap,
Cmd: exec.Command(executable),
SyncStdout: os.Stdout,
SyncStderr: os.Stdout,
SyncStdout: wrappedLogger.With(mlog.String("source", "plugin_stdout")).StdLogWriter(),
SyncStderr: wrappedLogger.With(mlog.String("source", "plugin_stderr")).StdLogWriter(),
Logger: hclogAdaptedLogger,
StartTimeout: time.Second * 3,
})