log

package
v5.0.0-preview1 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2023 License: MIT Imports: 5 Imported by: 2

Documentation

Index

Constants

View Source
const (
	// Format is the fmt format code for common logs
	Format string = "%s %s %s [%s] \"%s %s %s\" %d %d"

	// TimestampFormat is the time format used in common logs
	TimestampFormat string = "02/Jan/2006:15:04:05 -0700"
)

Variables

This section is empty.

Functions

func CombinedLogFormatter

func CombinedLogFormatter(ctx *Context) string

CombinedLogFormatter build a log entry using the Combined Log Format.

func CombinedLogMiddleware

func CombinedLogMiddleware() goyave.Middleware

CombinedLogMiddleware captures response data and outputs it to the default logger using the combined log format.

func CommonLogFormatter

func CommonLogFormatter(ctx *Context) string

CommonLogFormatter build a log entry using the Common Log Format.

func CommonLogMiddleware

func CommonLogMiddleware() goyave.Middleware

CommonLogMiddleware captures response data and outputs it to the default logger using the common log format.

Types

type Context

type Context struct {
	goyave.Component
	Request *goyave.Request
	Status  int
	Length  int
}

Context contains all information needed for a `Formatter`.

type Formatter

type Formatter func(ctx *Context) string

Formatter is a function that builds a log entry. As logs are written at the end of the request's lifecycle, all the data is available to formatters at the time they are called, and all modifications will have no effect.

type Middleware

type Middleware struct {
	goyave.Component
	Formatter Formatter
}

Middleware captures response data and outputs it to the default logger using the given formatter.

func (*Middleware) Handle

func (m *Middleware) Handle(next goyave.Handler) goyave.Handler

Handle adds the log chained writer to the response.

type Writer

type Writer struct {
	goyave.Component
	// contains filtered or unexported fields
}

Writer chained writer keeping response body in memory. Used for loggin in common format.

func NewWriter

func NewWriter(server *goyave.Server, response *goyave.Response, request *goyave.Request, formatter Formatter) *Writer

NewWriter create a new log writer. The given Request and Response will be used and passed to the given formatter.

func (*Writer) Close

func (w *Writer) Close() error

Close the writer and its child ResponseWriter, flushing response output to the logs.

func (*Writer) PreWrite

func (w *Writer) PreWrite(b []byte)

PreWrite calls PreWrite on the child writer if it implements PreWriter.

func (*Writer) Write

func (w *Writer) Write(b []byte) (int, error)

Write writes the data as a response and keeps its length in memory for later logging.

Jump to

Keyboard shortcuts

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