Documentation
¶
Overview ¶
Package traefiklogger a Traefik HTTP logger plugin.
Package traefiklogger a Traefik HTTP logger plugin.
Package traefiklogger a Traefik HTTP logger plugin.
Package traefiklogger a Traefik HTTP logger plugin.
Index ¶
- Constants
- func New(ctx context.Context, next http.Handler, config *Config, name string) (http.Handler, error)
- type CompressHTTPDecoder
- type Config
- type DeflateHTTPDecoder
- type EmptyUUIDGenerator
- type FileLogWriter
- type GZipHTTPDecoder
- type HTTPBodyDecoder
- type HTTPBodyDecoderFactory
- type HTTPLogger
- type JSONHTTPLogger
- type LogFormat
- type LogRecord
- type LogWriter
- type LoggerClock
- type LoggerLogWriter
- type LoggerMiddleware
- type NoOpMiddleware
- type RandomUUIDGenerator
- type RawHTTPDecoder
- type SystemLoggerClock
- type TextualHTTPLogger
- type UUID
- type UUIDGenerator
Constants ¶
const ClockContextKey clockContextKey = "clock"
ClockContextKey can be used to fake time.
const LogWriterContextKey logWriterContextKey = "log-writer"
LogWriterContextKey can be used to spy log writes.
const UUIDGeneratorContextKey uuidGeneratorContextKey = "uuid-generator"
UUIDGeneratorContextKey can be used to fake UUID generator.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CompressHTTPDecoder ¶ added in v0.10.0
type CompressHTTPDecoder struct {
// contains filtered or unexported fields
}
CompressHTTPDecoder extracts with the Lempel-Ziv-Welch (LZW) algorithm.
type Config ¶
type Config struct { Enabled bool `json:"enabled"` Debug bool `json:"debug"` LogFormat LogFormat `json:"logFormat"` GenerateLogID bool `json:"generateLogId,omitempty"` Name string `json:"name,omitempty"` AcceptAny bool `json:"acceptAny,omitempty"` SilentHeaders bool `json:"silentHeaders,omitempty"` BodyContentTypes []string `json:"bodyContentTypes,omitempty"` JWTHeaders []string `json:"jwtHeaders,omitempty"` HeaderRedacts []string `json:"headerRedacts,omitempty"` RequestBodyRedact string `json:"requestBodyRedact,omitempty"` ResponseBodyRedact string `json:"responseBodyRedact,omitempty"` }
Config the plugin configuration.
func CreateConfig ¶
func CreateConfig() *Config
CreateConfig creates the default plugin configuration.
type DeflateHTTPDecoder ¶ added in v0.10.0
type DeflateHTTPDecoder struct {
// contains filtered or unexported fields
}
DeflateHTTPDecoder extracts the zlib structure with the deflate compression algorithm.
type EmptyUUIDGenerator ¶ added in v0.7.11
type EmptyUUIDGenerator struct{}
EmptyUUIDGenerator returns empty string.
func (*EmptyUUIDGenerator) Generate ¶ added in v0.7.11
func (g *EmptyUUIDGenerator) Generate() string
Generate returns empty string.
type FileLogWriter ¶ added in v0.5.1
type FileLogWriter struct {
// contains filtered or unexported fields
}
FileLogWriter writes logs to a File (like stdout).
func (*FileLogWriter) Write ¶ added in v0.5.1
func (w *FileLogWriter) Write(log string) error
type GZipHTTPDecoder ¶ added in v0.9.0
type GZipHTTPDecoder struct {
// contains filtered or unexported fields
}
GZipHTTPDecoder extracts the Lempel-Ziv coding (LZ77) with a 32-bit CRC.
type HTTPBodyDecoder ¶ added in v0.9.0
type HTTPBodyDecoder interface {
// contains filtered or unexported methods
}
HTTPBodyDecoder a body decoder strategy.
type HTTPBodyDecoderFactory ¶ added in v0.9.0
type HTTPBodyDecoderFactory struct {
// contains filtered or unexported fields
}
HTTPBodyDecoderFactory selects which decoder should run.
type HTTPLogger ¶ added in v0.5.0
type HTTPLogger interface {
// contains filtered or unexported methods
}
HTTPLogger a logger strategy interface.
type JSONHTTPLogger ¶ added in v0.5.0
type JSONHTTPLogger struct {
// contains filtered or unexported fields
}
JSONHTTPLogger a JSON logger implementation.
type LogRecord ¶ added in v0.6.0
type LogRecord struct { System string Proto string Method string URL string RemoteAddr string StatusCode int RequestHeaders http.Header RequestBody *bytes.Buffer ResponseHeaders http.Header ResponseBody *bytes.Buffer ResponseContentLength int DurationMs float64 BodyDecoder HTTPBodyDecoder }
LogRecord contains the loggable data.
type LoggerClock ¶ added in v0.5.1
LoggerClock is the source of current time.
type LoggerLogWriter ¶ added in v0.5.1
type LoggerLogWriter struct {
// contains filtered or unexported fields
}
LoggerLogWriter writes logs to a Logger.
func (*LoggerLogWriter) Write ¶ added in v0.5.1
func (w *LoggerLogWriter) Write(log string) error
type LoggerMiddleware ¶
type LoggerMiddleware struct {
// contains filtered or unexported fields
}
LoggerMiddleware a Logger plugin.
func (*LoggerMiddleware) ServeHTTP ¶
func (m *LoggerMiddleware) ServeHTTP(w http.ResponseWriter, r *http.Request)
type NoOpMiddleware ¶ added in v0.1.2
type NoOpMiddleware struct {
// contains filtered or unexported fields
}
NoOpMiddleware a no-op plugin implementation.
func (*NoOpMiddleware) ServeHTTP ¶ added in v0.1.2
func (m *NoOpMiddleware) ServeHTTP(w http.ResponseWriter, r *http.Request)
type RandomUUIDGenerator ¶ added in v0.7.11
type RandomUUIDGenerator struct{}
RandomUUIDGenerator generates secure random UUID v4.
func (*RandomUUIDGenerator) Generate ¶ added in v0.7.11
func (g *RandomUUIDGenerator) Generate() string
Generate generates secure random UUID.
type RawHTTPDecoder ¶ added in v0.9.0
type RawHTTPDecoder struct{}
RawHTTPDecoder just returns the content as-is.
type SystemLoggerClock ¶ added in v0.5.1
type SystemLoggerClock struct{}
SystemLoggerClock uses OS system time.
func (*SystemLoggerClock) Now ¶ added in v0.5.1
func (*SystemLoggerClock) Now() time.Time
Now returns current OS system time.
type TextualHTTPLogger ¶ added in v0.5.0
type TextualHTTPLogger struct {
// contains filtered or unexported fields
}
TextualHTTPLogger a textual logger implementation.
type UUID ¶ added in v0.7.13
type UUID [16]byte
UUID representation compliant with specification described in RFC 4122.
func GenerateUUID4 ¶ added in v0.7.11
GenerateUUID4 generates RFC 4122 version 4 UUID.
type UUIDGenerator ¶ added in v0.7.11
type UUIDGenerator interface {
Generate() string
}
UUIDGenerator is a UUID generator strategy.