Documentation ¶
Overview ¶
Package logger contains the configuration structures needed to configure the access to CloudWatch server to sending the log messages there.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var AWSCloudWatchEndpoint string
AWSCloudWatchEndpoint allows you to mock cloudwatch client by redirecting requests to a local proxy
Functions ¶
func CloseZerolog ¶ added in v1.7.0
func CloseZerolog()
CloseZerolog closes properly the zerolog, if needed
func InitZerolog ¶
func InitZerolog( loggingConf LoggingConfiguration, cloudWatchConf CloudWatchConfiguration, sentryConf SentryLoggingConfiguration, kafkazerologConf KafkaZerologConfiguration, additionalWriters ...io.Writer, ) error
InitZerolog initializes zerolog with provided configs to use proper stdout and/or CloudWatch logging
Types ¶
type CloudWatchConfiguration ¶
type CloudWatchConfiguration struct { AWSAccessID string `mapstructure:"aws_access_id" toml:"aws_access_id"` AWSSecretKey string `mapstructure:"aws_secret_key" toml:"aws_secret_key"` AWSSessionToken string `mapstructure:"aws_session_token" toml:"aws_session_token"` AWSRegion string `mapstructure:"aws_region" toml:"aws_region"` LogGroup string `mapstructure:"log_group" toml:"log_group"` StreamName string `mapstructure:"stream_name" toml:"stream_name"` CreateStreamIfNotExists bool `mapstructure:"create_stream_if_not_exists" toml:"create_stream_if_not_exists"` // enable debug logs for debugging aws client itself Debug bool `mapstructure:"debug" toml:"debug"` }
CloudWatchConfiguration represents configuration of CloudWatch logger
type KafkaZerologConfiguration ¶ added in v1.8.0
type KafkaZerologConfiguration struct { Broker string `mapstructure:"broker" toml:"broker"` Topic string `mapstructure:"topic" toml:"topic"` CertPath string `mapstructure:"cert_path" toml:"cert_path"` Level string `mapstructure:"level" toml:"level"` }
KafkaZerologConfiguration represetns the configuration for sending log messages to a Kafka topic
type LoggingConfiguration ¶
type LoggingConfiguration struct { // Debug enables pretty colored logging Debug bool `mapstructure:"debug" toml:"debug"` UseStderr bool `mapstructure:"use_stderr" toml:"use_stderr"` // LogLevel sets logging level to show. Possible values are: // "debug" // "info" // "warn", "warning" // "error" // "fatal" // // logging level won't be changed if value is not one of listed above LogLevel string `mapstructure:"log_level" toml:"log_level"` // LoggingToCloudWatchEnabled enables logging to CloudWatch // (configuration for CloudWatch is in CloudWatchConfiguration) LoggingToCloudWatchEnabled bool `mapstructure:"logging_to_cloud_watch_enabled" toml:"logging_to_cloud_watch_enabled"` // LoggingToSentryEnabled enables logging to Sentry // (configuration for Sentry is in SentryLoggingConfiguration) LoggingToSentryEnabled bool `mapstructure:"logging_to_sentry_enabled" toml:"logging_to_sentry_enabled"` // LoggingToKafkaEnabled enables logging to Kafka // (configuration for Kafka logging is in KafkaZerologConfiguration) LoggingToKafkaEnabled bool `mapstructure:"logging_to_kafka_enabled" toml:"logging_to_kafka_enabled"` }
LoggingConfiguration represents configuration for logging in general
type SaramaZerologger ¶
type SaramaZerologger struct {
// contains filtered or unexported fields
}
SaramaZerologger is a wrapper to make sarama log to zerolog those logs can be filtered by key "package" with value "sarama"
func (*SaramaZerologger) Print ¶
func (logger *SaramaZerologger) Print(params ...interface{})
Print wraps print method
func (*SaramaZerologger) Printf ¶
func (logger *SaramaZerologger) Printf(format string, params ...interface{})
Printf wraps printf method
func (*SaramaZerologger) Println ¶
func (logger *SaramaZerologger) Println(v ...interface{})
Println wraps println method
type SentryLoggingConfiguration ¶ added in v1.7.0
type SentryLoggingConfiguration struct { SentryDSN string `mapstructure:"dsn" toml:"dsn"` SentryEnvironment string `mapstructure:"environment" toml:"environment"` }
SentryLoggingConfiguration represents the configuration of Sentry logger
type WorkaroundForRHIOPS729 ¶
WorkaroundForRHIOPS729 keeps only those fields that are currently getting their way to Kibana TODO: delete when RHIOPS-729 is fixed