specify a logger for go-plugin
The go-plugin package now uses hclog. The default Logger has a level set to Info, but all plugin output is relayed via Debug. Create a new named logger for plugins with the level set to Trace so that all output comes through.
This commit is contained in:
parent
81f9c78122
commit
714df97a02
|
@ -1,8 +1,10 @@
|
||||||
package plugin
|
package plugin
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
|
||||||
|
hclog "github.com/hashicorp/go-hclog"
|
||||||
plugin "github.com/hashicorp/go-plugin"
|
plugin "github.com/hashicorp/go-plugin"
|
||||||
"github.com/hashicorp/terraform/plugin/discovery"
|
"github.com/hashicorp/terraform/plugin/discovery"
|
||||||
)
|
)
|
||||||
|
@ -10,11 +12,18 @@ import (
|
||||||
// ClientConfig returns a configuration object that can be used to instantiate
|
// ClientConfig returns a configuration object that can be used to instantiate
|
||||||
// a client for the plugin described by the given metadata.
|
// a client for the plugin described by the given metadata.
|
||||||
func ClientConfig(m discovery.PluginMeta) *plugin.ClientConfig {
|
func ClientConfig(m discovery.PluginMeta) *plugin.ClientConfig {
|
||||||
|
logger := hclog.New(&hclog.LoggerOptions{
|
||||||
|
Name: "plugin",
|
||||||
|
Level: hclog.Trace,
|
||||||
|
Output: os.Stderr,
|
||||||
|
})
|
||||||
|
|
||||||
return &plugin.ClientConfig{
|
return &plugin.ClientConfig{
|
||||||
Cmd: exec.Command(m.Path),
|
Cmd: exec.Command(m.Path),
|
||||||
HandshakeConfig: Handshake,
|
HandshakeConfig: Handshake,
|
||||||
Managed: true,
|
Managed: true,
|
||||||
Plugins: PluginMap,
|
Plugins: PluginMap,
|
||||||
|
Logger: logger,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue