@@ -11,6 +11,7 @@ import (
1111 "github.com/rs/zerolog"
1212 tc "github.com/testcontainers/testcontainers-go"
1313
14+ "github.com/smartcontractkit/chainlink-testing-framework/lib/logging"
1415 "github.com/smartcontractkit/chainlink-testing-framework/lib/mirror"
1516 "github.com/smartcontractkit/chainlink-testing-framework/lib/utils/testcontext"
1617)
@@ -157,8 +158,10 @@ var LinuxPlatformImageRetrier = func(l zerolog.Logger, startErr error, req tc.Ge
157158// It will try to start the container with the provided retriers, if none are provided it will use the default retriers.
158159// Default being: 1. tries to download image for "linux/x86_64" platform 2. simply starts again without changing anything
159160func StartContainerWithRetry (l zerolog.Logger , req tc.GenericContainerRequest , retriers ... StartContainerRetrier ) (tc.Container , error ) {
160- var ct tc.Container
161- var err error
161+ var (
162+ ct tc.Container
163+ err error
164+ )
162165
163166 ct , err = tc .GenericContainer (testcontext .Get (nil ), req )
164167 if err == nil {
@@ -169,7 +172,26 @@ func StartContainerWithRetry(l zerolog.Logger, req tc.GenericContainerRequest, r
169172 retriers = append (retriers , LinuxPlatformImageRetrier , NaiveRetrier )
170173 }
171174
172- l .Info ().Err (err ).Msgf ("Cannot start %s container, retrying" , req .Name )
175+ l .Warn ().Err (err ).Msgf ("Cannot start %s container, retrying" , req .Name )
176+
177+ // DEBUG: Print logs if we can
178+ cLogs , err := ct .Logs (context .Background ())
179+ if err != nil {
180+ l .Debug ().Err (err ).Msgf ("Cannot get logs for %s container" , req .Name )
181+ } else {
182+ l .Debug ().Msgf ("Container Logs for %s:\n " , req .Name )
183+ if logging .LogLevelEnvVar == "debug" {
184+ fmt .Printf ("Container Logs for %s:\n " , req .Name )
185+ var logs []byte
186+ _ , err = cLogs .Read (logs )
187+ if err != nil {
188+ fmt .Println ("Failed to read logs from container" )
189+ fmt .Println (err )
190+ } else {
191+ fmt .Println (string (logs ))
192+ }
193+ }
194+ }
173195
174196 req .Reuse = true // Try and see if we can reuse the container for a retry
175197 for _ , retrier := range retriers {
0 commit comments