github.com/smithx10/nomad@v0.9.1-rc1/command/docker_logger_plugin.go (about) 1 package command 2 3 import ( 4 "strings" 5 6 log "github.com/hashicorp/go-hclog" 7 plugin "github.com/hashicorp/go-plugin" 8 "github.com/hashicorp/nomad/drivers/docker/docklog" 9 "github.com/hashicorp/nomad/plugins/base" 10 ) 11 12 type DockerLoggerPluginCommand struct { 13 Meta 14 } 15 16 func (e *DockerLoggerPluginCommand) Help() string { 17 helpText := ` 18 This is a command used by Nomad internally to launch the docker logger process" 19 ` 20 return strings.TrimSpace(helpText) 21 } 22 23 func (e *DockerLoggerPluginCommand) Synopsis() string { 24 return "internal - launch a docker logger plugin" 25 } 26 27 func (e *DockerLoggerPluginCommand) Run(args []string) int { 28 logger := log.New(&log.LoggerOptions{ 29 Level: log.Trace, 30 JSONFormat: true, 31 Name: docklog.PluginName, 32 }) 33 34 plugin.Serve(&plugin.ServeConfig{ 35 HandshakeConfig: base.Handshake, 36 Plugins: map[string]plugin.Plugin{ 37 docklog.PluginName: docklog.NewPlugin(docklog.NewDockerLogger(logger)), 38 }, 39 GRPCServer: plugin.DefaultGRPCServer, 40 Logger: logger, 41 }) 42 return 0 43 }