import "github.com/erimatnor/kubernetes/pkg/httplog"
Package httplog contains a helper object and functions to maintain a log along with an http response.
DefaultStacktracePred is the default implementation of StacktracePred.
Handler wraps all HTTP calls to delegate with nice logging. delegate may use LogOf(w).Addf(...) to write additional info to the per-request log message.
Intended to wrap calls to your ServeMux.
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 NewLogged(req *http.Request, w *http.ResponseWriter) *respLogger
NewLogged turns a normal response writer into a logged response writer.
Usage:
defer NewLogged(req, &w).StacktraceWhen(StatusIsNot(200, 202)).Log()
(Only the call to Log() is defered, so you can set everything up in one line!)
Note that this *changes* your writer, to route response writing actions through the logger.
Use LogOf(w).Addf(...) to log something along with the response result.
func Unlogged(w http.ResponseWriter) http.ResponseWriter
Unlogged returns the original ResponseWriter, or w if it is not our inserted logger.
StacktracePred returns true if a stacktrace should be logged for this status.
func StatusIsNot(statuses ...int) StacktracePred
StatusIsNot returns a StacktracePred which will cause stacktraces to be logged for any status *not* in the given list.
Package httplog imports 7 packages (graph). Updated 2017-05-11. Refresh now. Tools for package owners.