logging

package
v4.2.1-0...-85e7c47 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2021 License: Apache-2.0 Imports: 10 Imported by: 27

Documentation

Overview

Package logging ... Handles logging within the SDK

Index

Constants

View Source
const (

	// LevelError log level
	LevelError

	// LevelWarning log level
	LevelWarning

	// LevelInfo log level
	LevelInfo

	// LevelDebug log level
	LevelDebug

	// LevelVerbose log level
	LevelVerbose
)

Standard values

View Source
const (
	// LevelNone implies that NOTHING will be logged, not even errors
	LevelNone = math.MinInt32

	// LevelAll implies that All logging levels will be recorded
	LevelAll = math.MaxInt32
)

Special values

Variables

This section is empty.

Functions

func Level

func Level(level string) int

Level gets current level

func ObfuscateAPIKey

func ObfuscateAPIKey(apikey string) string

ObfuscateAPIKey obfucate part of api key

func ObfuscateHTTPHeader

func ObfuscateHTTPHeader(headers http.Header) string

ObfuscateHTTPHeader obfuscates sensitive data into headers

Types

type FileRotate

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

FileRotate rotates a log file at MaxBytes

func NewFileRotate

func NewFileRotate(opt *FileRotateOptions) (*FileRotate, error)

NewFileRotate returns a pointer to a FileRotate instance

func (*FileRotate) Write

func (f *FileRotate) Write(p []byte) (n int, err error)

Write writes async the log message

type FileRotateOptions

type FileRotateOptions struct {
	MaxBytes    int64
	BackupCount int
	Path        string
}

FileRotateOptions struct to configure FileRotate

type LevelFilteredLoggerWrapper

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

LevelFilteredLoggerWrapper forwards log message to delegate if level is set higher than incoming message

func (*LevelFilteredLoggerWrapper) Debug

func (l *LevelFilteredLoggerWrapper) Debug(is ...interface{})

Debug forwards debug logging messages

func (*LevelFilteredLoggerWrapper) Error

func (l *LevelFilteredLoggerWrapper) Error(is ...interface{})

Error forwards error logging messages

func (*LevelFilteredLoggerWrapper) Info

func (l *LevelFilteredLoggerWrapper) Info(is ...interface{})

Info forwards info logging messages

func (*LevelFilteredLoggerWrapper) Verbose

func (l *LevelFilteredLoggerWrapper) Verbose(is ...interface{})

Verbose forwards verbose logging messages

func (*LevelFilteredLoggerWrapper) Warning

func (l *LevelFilteredLoggerWrapper) Warning(is ...interface{})

Warning forwards warning logging messages

type Logger

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

Logger struct. Encapsulates four different loggers, each for a different "level", and provides Error, Debug, Warning and Info functions, that will forward a message to the appropriate logger.

func (*Logger) Debug

func (l *Logger) Debug(msg ...interface{})

Debug logs a message with Debug level

func (*Logger) Error

func (l *Logger) Error(msg ...interface{})

Error logs a message with Error level

func (*Logger) Info

func (l *Logger) Info(msg ...interface{})

Info logs a message with Info level

func (*Logger) Verbose

func (l *Logger) Verbose(msg ...interface{})

Verbose logs a message with Debug level

func (*Logger) Warning

func (l *Logger) Warning(msg ...interface{})

Warning logs a message with Warning level

type LoggerInterface

type LoggerInterface interface {
	Error(msg ...interface{})
	Warning(msg ...interface{})
	Info(msg ...interface{})
	Debug(msg ...interface{})
	Verbose(msg ...interface{})
}

LoggerInterface ... If a custom logger object is to be used, it should comply with the following interface. (Standard go-lang library log.Logger.Println method signature)

func NewLogger

func NewLogger(options *LoggerOptions) LoggerInterface

NewLogger instantiates a new Logger instance. Requires a pointer to a LoggerOptions struct to be passed.

type LoggerOptions

type LoggerOptions struct {
	LogLevel            int
	ErrorWriter         io.Writer
	WarningWriter       io.Writer
	InfoWriter          io.Writer
	DebugWriter         io.Writer
	VerboseWriter       io.Writer
	StandardLoggerFlags int
	Prefix              string
	ExtraFramesToSkip   int
}

LoggerOptions ... Struct that must be passed to the NewLogger constructor to setup a logger CommonWriter and ErrorWriter can be <nil>. In that case they'll default to os.Stdout

Jump to

Keyboard shortcuts

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