logging

package module
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: May 28, 2020 License: AGPL-3.0 Imports: 2 Imported by: 0

README

godoc

logging

a series of loggers that implement an interface which fits my personal preference

Documentation

Index

Constants

View Source
const (
	// LoggerNameKey is a key we can use to denote logger names across implementations
	LoggerNameKey = "__logger_name__"
)

Variables

This section is empty.

Functions

func BuildMiddleware

func BuildMiddleware(logger Logger) func(http.Handler) http.Handler

BuildMiddleware builds a logging middleware

Types

type Level

type Level string

Level is a simple string alias for dependency injection's sake

var (
	// InfoLevel describes a info-level log
	InfoLevel Level = "info"
	// DebugLevel describes a debug-level log
	DebugLevel Level = "debug"
	// ErrorLevel describes a error-level log
	ErrorLevel Level = "error"
	// WarnLevel describes a warn-level log
	WarnLevel Level = "warn"
)

type Logger

type Logger interface {
	Info(string)
	Debug(string)
	Error(error, string)
	Fatal(error)

	SetLevel(Level)

	// Builder funcs
	WithName(string) Logger
	WithValues(map[string]interface{}) Logger
	WithValue(string, interface{}) Logger
	WithRequest(*http.Request) Logger
	WithError(error) Logger
}

Logger represents a simple logging interface we can build wrappers around.

type Name

type Name string

Name is a simple string alias for dependency injection's sake

type ResponseWriter

type ResponseWriter struct {
	Wrapped http.ResponseWriter
	Logger  Logger
	// contains filtered or unexported fields
}

ResponseWriter is a logging http.ResponseWriter

func (*ResponseWriter) Header

func (rw *ResponseWriter) Header() http.Header

Header mostly wraps the embedded ResponseWriter's Header

func (*ResponseWriter) Write

func (rw *ResponseWriter) Write(b []byte) (int, error)

Write mostly wraps the embedded ResponseWriter's Write

func (*ResponseWriter) WriteHeader

func (rw *ResponseWriter) WriteHeader(statusCode int)

WriteHeader mostly wraps the embedded ResponseWriter's WriteHeader

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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