Merge pull request #8471 from hashicorp/cleanup_logs

Cleanup logs
This commit is contained in:
Megan Marsh 2019-12-10 10:55:55 -08:00 committed by GitHub
commit 2118fe72b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 41 additions and 26 deletions

View File

@ -208,29 +208,32 @@ func (c *config) discoverInternal() error {
for builder := range command.Builders {
_, found := (c.Builders)[builder]
if !found {
log.Printf("Using internal plugin for %s", builder)
(c.Builders)[builder] = fmt.Sprintf("%s%splugin%spacker-builder-%s",
packerPath, PACKERSPACE, PACKERSPACE, builder)
} else {
log.Printf("Using external plugin for %s", builder)
}
}
for provisioner := range command.Provisioners {
_, found := (c.Provisioners)[provisioner]
if !found {
log.Printf("Using internal plugin for %s", provisioner)
(c.Provisioners)[provisioner] = fmt.Sprintf(
"%s%splugin%spacker-provisioner-%s",
packerPath, PACKERSPACE, PACKERSPACE, provisioner)
} else {
log.Printf("Using external plugin for %s", provisioner)
}
}
for postProcessor := range command.PostProcessors {
_, found := (c.PostProcessors)[postProcessor]
if !found {
log.Printf("Using internal plugin for %s", postProcessor)
(c.PostProcessors)[postProcessor] = fmt.Sprintf(
"%s%splugin%spacker-post-processor-%s",
packerPath, PACKERSPACE, PACKERSPACE, postProcessor)
} else {
log.Printf("Using external plugin for %s", postProcessor)
}
}

12
main.go
View File

@ -62,8 +62,6 @@ func realMain() int {
packer.LogSecretFilter.SetOutput(logWriter)
//packer.LogSecrets.
// Disable logging here
log.SetOutput(ioutil.Discard)
@ -137,12 +135,16 @@ func wrappedMain() int {
packer.LogSecretFilter.SetOutput(os.Stderr)
log.SetOutput(&packer.LogSecretFilter)
inPlugin := os.Getenv(plugin.MagicCookieKey) == plugin.MagicCookieValue
if inPlugin {
// This prevents double-logging timestamps
log.SetFlags(0)
}
log.Printf("[INFO] Packer version: %s", version.FormattedVersion())
log.Printf("Packer Target OS/Arch: %s %s", runtime.GOOS, runtime.GOARCH)
log.Printf("Built with Go Version: %s", runtime.Version())
inPlugin := os.Getenv(plugin.MagicCookieKey) == plugin.MagicCookieValue
config, err := loadConfig()
if err != nil {
fmt.Fprintf(os.Stderr, "Error loading configuration: \n\n%s\n", err)
@ -195,7 +197,7 @@ func wrappedMain() int {
currentPID := os.Getpid()
backgrounded, err := checkProcess(currentPID)
if err != nil {
fmt.Fprintf(os.Stderr, "cannot determind if process is in "+
fmt.Fprintf(os.Stderr, "cannot determine if process is in "+
"background: %s\n", err)
}
if backgrounded {

View File

@ -327,8 +327,10 @@ func (c *Client) Start() (addr net.Addr, err error) {
switch parts[1] {
case "tcp":
addr, err = net.ResolveTCPAddr("tcp", parts[2])
log.Printf("Received tcp RPC address for %s: addr is %s", cmd.Path, addr)
case "unix":
addr, err = net.ResolveUnixAddr("unix", parts[2])
log.Printf("Received unix RPC address for %s: addr is %s", cmd.Path, addr)
default:
err = fmt.Errorf("Unknown address type: %s", parts[1])
}
@ -339,6 +341,13 @@ func (c *Client) Start() (addr net.Addr, err error) {
}
func (c *Client) logStderr(r io.Reader) {
logPrefix := filepath.Base(c.config.Cmd.Path)
if logPrefix == "packer" {
// we just called the normal packer binary with the plugin arg.
// grab the last arg from the list which will match the plugin name.
logPrefix = c.config.Cmd.Args[len(c.config.Cmd.Args)-1]
}
bufR := bufio.NewReader(r)
for {
line, err := bufR.ReadString('\n')
@ -346,7 +355,8 @@ func (c *Client) logStderr(r io.Reader) {
c.config.Stderr.Write([]byte(line))
line = strings.TrimRightFunc(line, unicode.IsSpace)
log.Printf("%s: %s", filepath.Base(c.config.Cmd.Path), line)
log.Printf("%s plugin: %s", logPrefix, line)
}
if err == io.EOF {

View File

@ -51,20 +51,7 @@ func Server() (*packrpc.Server, error) {
runtime.GOMAXPROCS(runtime.NumCPU())
}
minPort, err := strconv.ParseInt(os.Getenv("PACKER_PLUGIN_MIN_PORT"), 10, 32)
if err != nil {
return nil, err
}
maxPort, err := strconv.ParseInt(os.Getenv("PACKER_PLUGIN_MAX_PORT"), 10, 32)
if err != nil {
return nil, err
}
log.Printf("Plugin minimum port: %d\n", minPort)
log.Printf("Plugin maximum port: %d\n", maxPort)
listener, err := serverListener(minPort, maxPort)
listener, err := serverListener()
if err != nil {
return nil, err
}
@ -104,15 +91,28 @@ func Server() (*packrpc.Server, error) {
return packrpc.NewServer(conn)
}
func serverListener(minPort, maxPort int64) (net.Listener, error) {
func serverListener() (net.Listener, error) {
if runtime.GOOS == "windows" {
return serverListener_tcp(minPort, maxPort)
return serverListener_tcp()
}
return serverListener_unix()
}
func serverListener_tcp(minPort, maxPort int64) (net.Listener, error) {
func serverListener_tcp() (net.Listener, error) {
minPort, err := strconv.ParseInt(os.Getenv("PACKER_PLUGIN_MIN_PORT"), 10, 32)
if err != nil {
return nil, err
}
maxPort, err := strconv.ParseInt(os.Getenv("PACKER_PLUGIN_MAX_PORT"), 10, 32)
if err != nil {
return nil, err
}
log.Printf("Plugin minimum port: %d\n", minPort)
log.Printf("Plugin maximum port: %d\n", maxPort)
for port := minPort; port <= maxPort; port++ {
address := fmt.Sprintf("127.0.0.1:%d", port)
listener, err := net.Listen("tcp", address)