Initial QSfera import
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
package testcontainers
|
||||
|
||||
import "github.com/testcontainers/testcontainers-go/log"
|
||||
|
||||
// Validate our types implement the required interfaces.
|
||||
var (
|
||||
_ ContainerCustomizer = LoggerOption{}
|
||||
_ GenericProviderOption = LoggerOption{}
|
||||
_ DockerProviderOption = LoggerOption{}
|
||||
)
|
||||
|
||||
// WithLogger returns a generic option that sets the logger to be used.
|
||||
//
|
||||
// Consider calling this before other "With functions" as these may generate logs.
|
||||
//
|
||||
// This can be given a TestLogger to collect the logs from testcontainers into a
|
||||
// test case.
|
||||
func WithLogger(logger log.Logger) LoggerOption {
|
||||
return LoggerOption{
|
||||
logger: logger,
|
||||
}
|
||||
}
|
||||
|
||||
// LoggerOption is a generic option that sets the logger to be used.
|
||||
//
|
||||
// It can be used to set the logger for providers and containers.
|
||||
type LoggerOption struct {
|
||||
logger log.Logger
|
||||
}
|
||||
|
||||
// ApplyGenericTo implements GenericProviderOption.
|
||||
func (o LoggerOption) ApplyGenericTo(opts *GenericProviderOptions) {
|
||||
opts.Logger = o.logger
|
||||
}
|
||||
|
||||
// ApplyDockerTo implements DockerProviderOption.
|
||||
func (o LoggerOption) ApplyDockerTo(opts *DockerProviderOptions) {
|
||||
opts.Logger = o.logger
|
||||
}
|
||||
|
||||
// Customize implements ContainerCustomizer.
|
||||
func (o LoggerOption) Customize(req *GenericContainerRequest) error {
|
||||
req.Logger = o.logger
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user