logging

package
v1.8.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 3, 2023 License: Apache-2.0 Imports: 9 Imported by: 4

Documentation

Overview

Package logging //

Package logging //

Package logging //

Package logging //

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetSdkKeyLogMapping added in v1.1.1

func GetSdkKeyLogMapping(sdkKey string) string

GetSdkKeyLogMapping returns a string that maps to the sdk key that is used for logging (hiding the sdk key)

func IncludeSDKKeyInLogFields added in v1.1.2

func IncludeSDKKeyInLogFields(include bool)

IncludeSDKKeyInLogFields to set whether or not the SDK key is included in the logging output.

func SetLogLevel

func SetLogLevel(logLevel LogLevel)

SetLogLevel sets the log level to the given level

func SetLogger

func SetLogger(logger OptimizelyLogConsumer)

SetLogger replaces the default logger with the given logger

Types

type FilteredLevelLogConsumer

type FilteredLevelLogConsumer struct {
	// contains filtered or unexported fields
}

FilteredLevelLogConsumer is an implementation of the OptimizelyLogConsumer that filters by log level

func NewFilteredLevelLogConsumer

func NewFilteredLevelLogConsumer(level LogLevel, out io.Writer) *FilteredLevelLogConsumer

NewFilteredLevelLogConsumer returns a new logger that logs to stdout

func (*FilteredLevelLogConsumer) Log

func (l *FilteredLevelLogConsumer) Log(level LogLevel, message string, fields map[string]interface{})

Log logs the message if it's log level is higher than or equal to the logger's set level

func (*FilteredLevelLogConsumer) SetLogLevel

func (l *FilteredLevelLogConsumer) SetLogLevel(level LogLevel)

SetLogLevel changes the log level to the given level

type LogLevel

type LogLevel int

LogLevel represents the level of the log (i.e. Debug, Info, Warning, Error)

const (
	// LogLevelDebug log level
	LogLevelDebug LogLevel = iota + 1

	// LogLevelInfo log level
	LogLevelInfo

	// LogLevelWarning log level
	LogLevelWarning

	// LogLevelError log level
	LogLevelError
)

func (LogLevel) String

func (l LogLevel) String() string

type LogMessage added in v1.4.0

type LogMessage string

LogMessage defines string type for log messages

const (

	// AudienceEvaluationStarted when single audience evaluation is started
	AudienceEvaluationStarted LogMessage = `Starting to evaluate audience "%s".`
	// AudienceEvaluatedTo when single audience evaluation is completed
	AudienceEvaluatedTo LogMessage = `Audience "%s" evaluated to %t.`
	// ExperimentAudiencesEvaluatedTo when collective audience evaluation for experiment is completed
	ExperimentAudiencesEvaluatedTo LogMessage = `Audiences for experiment %s collectively evaluated to %t.`
	// RolloutAudiencesEvaluatedTo when collective audience evaluation for rule is completed
	RolloutAudiencesEvaluatedTo LogMessage = `Audiences for rule %s collectively evaluated to %t.`
	// EvaluatingAudiencesForExperiment when audience evaluation is started for an experiment
	EvaluatingAudiencesForExperiment LogMessage = `Evaluating audiences for experiment "%s".`
	// EvaluatingAudiencesForRollout when audience evaluation is started for a rule
	EvaluatingAudiencesForRollout LogMessage = `Evaluating audiences for rule %s.".`
	// NullUserAttribute when user attribute is missing or nil
	NullUserAttribute LogMessage = `Audience condition %s evaluated to UNKNOWN because a null value was passed for user attribute "%s".`
	// UserInEveryoneElse when user is in last rule
	UserInEveryoneElse LogMessage = `User "%s" meets conditions for targeting rule "Everyone Else".`
	// UserNotInRollout when user is not in rollout/rule
	UserNotInRollout LogMessage = `User "%s" does not meet conditions for targeting rule %s.`
	// UserNotInExperiment when user is not in experiment
	UserNotInExperiment LogMessage = `User "%s" does not meet conditions to be in experiment "%s".`

	// UnknownConditionType when when condition type is unknown
	UnknownConditionType LogMessage = `Audience condition "%s" uses an unknown condition type. You may need to upgrade to a newer release of the Optimizely SDK.`
	// UnknownMatchType when match type is unknown
	UnknownMatchType LogMessage = `Audience condition "%s" uses an unknown match type. You may need to upgrade to a newer release of the Optimizely SDK.`
	// UnsupportedConditionValue when condition value is unsupported
	UnsupportedConditionValue LogMessage = `Audience condition "%s" has an unsupported condition value. You may need to upgrade to a newer release of the Optimizely SDK.`
	// InvalidAttributeValueType when user attribute value is invalid
	InvalidAttributeValueType LogMessage = `Audience condition "%s" evaluated to UNKNOWN because a value of type "%T" was passed for user attribute "%s".`
)

func (LogMessage) String added in v1.4.0

func (l LogMessage) String() string

type NamedLogProducer

type NamedLogProducer struct {
	// contains filtered or unexported fields
}

NamedLogProducer produces logs prefixed with its name

func (NamedLogProducer) Debug

func (p NamedLogProducer) Debug(message string)

Debug logs the given message with a DEBUG level

func (NamedLogProducer) Error

func (p NamedLogProducer) Error(message string, err interface{})

Error logs the given message with a ERROR level

func (NamedLogProducer) Info

func (p NamedLogProducer) Info(message string)

Info logs the given message with a INFO level

func (NamedLogProducer) Warning

func (p NamedLogProducer) Warning(message string)

Warning logs the given message with a WARNING level

type OptimizelyLogConsumer

type OptimizelyLogConsumer interface {
	Log(level LogLevel, message string, fields map[string]interface{})
	SetLogLevel(logLevel LogLevel)
}

OptimizelyLogConsumer consumes log messages produced by the log producers

type OptimizelyLogProducer

type OptimizelyLogProducer interface {
	Debug(message string)
	Info(message string)
	Warning(message string)
	Error(message string, err interface{})
}

OptimizelyLogProducer produces log messages to be consumed by the log consumer

func GetLogger

func GetLogger(sdkKey, name string) OptimizelyLogProducer

GetLogger returns a log producer with the given name

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL