github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/cmd/logging_runner.go (about) 1 package cmd 2 3 import ( 4 "os" 5 6 "code.cloudfoundry.org/lager" 7 "github.com/tedsuo/ifrit" 8 ) 9 10 func NewLoggingRunner(logger lager.Logger, runner ifrit.Runner) ifrit.Runner { 11 return &loggingRunner{ 12 logger: logger, 13 runner: runner, 14 } 15 } 16 17 type loggingRunner struct { 18 logger lager.Logger 19 runner ifrit.Runner 20 } 21 22 func (lr *loggingRunner) Run(signals <-chan os.Signal, ready chan<- struct{}) error { 23 err := lr.runner.Run(signals, ready) 24 if err != nil { 25 lr.logger.Error("logging-runner-exited", err) 26 } else { 27 lr.logger.Info("logging-runner-exited") 28 } 29 30 return err 31 }