github.com/mook-as/cf-cli@v7.0.0-beta.28.0.20200120190804-b91c115fae48+incompatible/command/v7/shared/noaa_debug_printer.go (about)

     1  package shared
     2  
     3  import (
     4  	"time"
     5  )
     6  
     7  type RequestLoggerOutput interface {
     8  	Start() error
     9  	Stop() error
    10  	DisplayType(name string, requestDate time.Time) error
    11  	DisplayDump(dump string) error
    12  }
    13  
    14  type NOAADebugPrinter struct {
    15  	outputs []RequestLoggerOutput
    16  }
    17  
    18  func (p *NOAADebugPrinter) addOutput(output RequestLoggerOutput) {
    19  	p.outputs = append(p.outputs, output)
    20  }
    21  
    22  func (p NOAADebugPrinter) Print(title string, dump string) {
    23  	for _, output := range p.outputs {
    24  		_ = output.Start()
    25  		defer output.Stop()
    26  
    27  		output.DisplayType(title, time.Now())
    28  		output.DisplayDump(dump)
    29  	}
    30  }