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.
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.
NewLogged turns a normal response writer into a logged response writer.
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.
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.
StatusIsNot returns a StacktracePred which will cause stacktraces to be logged for any status *not* in the given list.