logging

package
v0.0.0-...-1f8cd32 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2024 License: BSD-3-Clause, MIT Imports: 9 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ObfuscateBody deprecated

func ObfuscateBody(body string) (string, error)

ObfuscateBody obfuscates the given body as necessary

Deprecated: use BodyObfuscator instead

func ObfuscateHeader deprecated

func ObfuscateHeader(name, header string) (string, error)

ObfuscateHeader obfuscates the value for the given header as necessary.

Deprecated: use HeaderObfuscator instead

Types

type Capable

type Capable interface {
	// EnableLogging turns on logging using the given communicator logger.
	EnableLogging(communicatorLogger CommunicatorLogger)
	// DisableLogging turns off logging.
	DisableLogging()
}

Capable is an interface used for logging messages from communicators.

type CommunicatorLogger

type CommunicatorLogger interface {
	// Log logs the specified message.
	Log(message string)

	// LogError logs an error with an accompanying message.
	LogError(message string, err error)

	// LogResponseLogMessage logs a response log message
	LogResponseLogMessage(response *ResponseLogMessage)

	// LogRequestLogMessage logs a request log message
	LogRequestLogMessage(request *RequestLogMessage)
}

CommunicatorLogger is used to log messages from communicators. Thread-safe.

type DefaultLogCommunicatorLogger

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

DefaultLogCommunicatorLogger adapts a log.Logger to the CommunicatorLogger interface

func NewDefaultLogCommunicatorLogger

func NewDefaultLogCommunicatorLogger(goLog *log.Logger) (*DefaultLogCommunicatorLogger, error)

NewDefaultLogCommunicatorLogger creates a DefaultLogCommunicatorLogger with the given log.Logger

func StdOutCommunicatorLogger

func StdOutCommunicatorLogger() *DefaultLogCommunicatorLogger

StdOutCommunicatorLogger returns a CommunicatorLogger that outputs to os.Stdout

func (*DefaultLogCommunicatorLogger) Log

func (dl *DefaultLogCommunicatorLogger) Log(message string)

Log the specified message

func (*DefaultLogCommunicatorLogger) LogError

func (dl *DefaultLogCommunicatorLogger) LogError(message string, err error)

LogError logs the error with a message

func (*DefaultLogCommunicatorLogger) LogRequestLogMessage

func (dl *DefaultLogCommunicatorLogger) LogRequestLogMessage(request *RequestLogMessage)

LogRequestLogMessage logs a RequestLogMessage

func (*DefaultLogCommunicatorLogger) LogResponseLogMessage

func (dl *DefaultLogCommunicatorLogger) LogResponseLogMessage(response *ResponseLogMessage)

LogResponseLogMessage logs a ResponseLogMessage

type RequestLogMessage

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

RequestLogMessage represents a log message about a Request

func (*RequestLogMessage) Body

func (rl *RequestLogMessage) Body() string

Body returns the request body

func (*RequestLogMessage) ContentType

func (rl *RequestLogMessage) ContentType() string

ContentType returns the content type

func (*RequestLogMessage) Headers

func (rl *RequestLogMessage) Headers() map[string][]string

Headers returns the headers

func (*RequestLogMessage) Method

func (rl *RequestLogMessage) Method() string

Method returns the request method

func (*RequestLogMessage) RequestID

func (rl *RequestLogMessage) RequestID() string

RequestID returns the request ID

func (*RequestLogMessage) String

func (rl *RequestLogMessage) String() string

String implements the Stringer interface

func (*RequestLogMessage) URL

func (rl *RequestLogMessage) URL() url.URL

URL returns the request URL

type RequestLogMessageBuilder

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

RequestLogMessageBuilder represents utility class to build request log messages.

func NewRequestLogMessageBuilder deprecated

func NewRequestLogMessageBuilder(requestID, method string, url url.URL) (*RequestLogMessageBuilder, error)

NewRequestLogMessageBuilder creates a RequestLogMessageBuilder with the given requestID, method and url

Deprecated: use NewRequestLogMessageBuilderWithObfuscators instead

func NewRequestLogMessageBuilderWithObfuscators

func NewRequestLogMessageBuilderWithObfuscators(requestID, method string, url url.URL, bodyObfuscator obfuscation.BodyObfuscator, headerObfuscator obfuscation.HeaderObfuscator) (*RequestLogMessageBuilder, error)

NewRequestLogMessageBuilderWithObfuscators creates a RequestLogMessageBuilder with the given requestID, method, url and obfuscators

func (*RequestLogMessageBuilder) AddHeader

func (rlm *RequestLogMessageBuilder) AddHeader(name, value string) error

AddHeader adds a header to the log message using the name and value

func (*RequestLogMessageBuilder) BuildMessage

func (rlm *RequestLogMessageBuilder) BuildMessage() (*RequestLogMessage, error)

BuildMessage builds the RequestLogMessage

func (*RequestLogMessageBuilder) SetBinaryBody

func (rlm *RequestLogMessageBuilder) SetBinaryBody(contentType string) error

SetBinaryBody sets the binary request body

func (*RequestLogMessageBuilder) SetBody

func (rlm *RequestLogMessageBuilder) SetBody(body, contentType string) error

SetBody sets the request body

type ResponseLogMessage

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

ResponseLogMessage represents a log message about a Response

func (*ResponseLogMessage) Body

func (rl *ResponseLogMessage) Body() string

Body returns the response body

func (*ResponseLogMessage) ContentType

func (rl *ResponseLogMessage) ContentType() string

ContentType returns the response content-type

func (*ResponseLogMessage) Duration

func (rl *ResponseLogMessage) Duration() time.Duration

Duration returns the transport duration

func (*ResponseLogMessage) Headers

func (rl *ResponseLogMessage) Headers() map[string][]string

Headers returns the response headers

func (*ResponseLogMessage) ResponseID

func (rl *ResponseLogMessage) ResponseID() string

ResponseID returns the response id

func (*ResponseLogMessage) StatusCode

func (rl *ResponseLogMessage) StatusCode() int

StatusCode returns the response status code

func (*ResponseLogMessage) String

func (rl *ResponseLogMessage) String() string

String implements the Stringer interface

type ResponseLogMessageBuilder

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

ResponseLogMessageBuilder represents a utility class to build request log messages.

func NewResponseLogMessageBuilder deprecated

func NewResponseLogMessageBuilder(responseID string, statusCode int, duration time.Duration) (*ResponseLogMessageBuilder, error)

NewResponseLogMessageBuilder creates a ResponseLogMessageBuilder with the given responseID, statusCode and duration

Deprecated: use NewResponseLogMessageBuilderWithObfuscators instead

func NewResponseLogMessageBuilderWithObfuscators

func NewResponseLogMessageBuilderWithObfuscators(responseID string, statusCode int, duration time.Duration, bodyObfuscator obfuscation.BodyObfuscator, headerObfuscator obfuscation.HeaderObfuscator) (*ResponseLogMessageBuilder, error)

NewResponseLogMessageBuilderWithObfuscators creates a ResponseLogMessageBuilder with the given responseID, statusCode, duration and obfuscators

func (*ResponseLogMessageBuilder) AddHeader

func (rlm *ResponseLogMessageBuilder) AddHeader(name, value string) error

AddHeader adds a header to the log message using the name and value

func (*ResponseLogMessageBuilder) BuildMessage

func (rlm *ResponseLogMessageBuilder) BuildMessage() (*ResponseLogMessage, error)

BuildMessage builds the ResponseLogMessage

func (*ResponseLogMessageBuilder) SetBinaryBody

func (rlm *ResponseLogMessageBuilder) SetBinaryBody(contentType string) error

SetBinaryBody sets the binary request body

func (*ResponseLogMessageBuilder) SetBody

func (rlm *ResponseLogMessageBuilder) SetBody(body, contentType string) error

SetBody sets the request body

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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