apiserverk8s.io/apiserver/pkg/server/httplog Index | Files

package httplog

import "k8s.io/apiserver/pkg/server/httplog"

Package httplog contains a helper object and functions to maintain a log along with an http response.

Index

Functions

func AddInfof

func AddInfof(ctx context.Context, format string, data ...interface{})

func AddKeyValue

func AddKeyValue(ctx context.Context, key string, value interface{})

AddKeyValue adds a (key, value) pair to the httplog associated with the request. Use this function if you want your data to show up in httplog in a more structured and readable way.

func DefaultStacktracePred

func DefaultStacktracePred(status int) bool

DefaultStacktracePred is the default implementation of StacktracePred.

func LogOf

func LogOf(req *http.Request, w http.ResponseWriter) logger

LogOf returns the logger hiding in w. If there is not an existing logger then a passthroughLogger will be created which will log to stdout immediately when Addf is called.

func SetStacktracePredicate

func SetStacktracePredicate(ctx context.Context, pred StacktracePred)

SetStacktracePredicate sets a custom stacktrace predicate for the logger associated with the given request context.

func Unlogged

Unlogged returns the original ResponseWriter, or w if it is not our inserted logger.

func WithLogging

func WithLogging(handler http.Handler, pred StacktracePred) http.Handler

WithLogging wraps the handler with logging.

Types

type ShouldLogRequestPred

type ShouldLogRequestPred func() bool

ShouldLogRequestPred returns true if logging should be enabled for this request

type StacktracePred

type StacktracePred func(httpStatus int) (logStacktrace bool)

StacktracePred returns true if a stacktrace should be logged for this status.

func StatusIsNot

func StatusIsNot(statuses ...int) StacktracePred

StatusIsNot returns a StacktracePred which will cause stacktraces to be logged for any status *not* in the given list.

Source Files

doc.go httplog.go

Version
v0.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
15 packages
Last checked
7 hours ago

Tools for package owners.