mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-05 19:59:37 -06:00
46 lines
1.2 KiB
Go
46 lines
1.2 KiB
Go
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
|
|
}
|