| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Network.Wai.Middleware.Logging
Contents
Synopsis
- addThreadContext :: [Pair] -> Middleware
- addThreadContextFromRequest :: (Request -> [Pair]) -> Middleware
- requestLogger :: HasLogger env => env -> Middleware
- requestLoggerWith :: HasLogger env => Config -> env -> Middleware
- data Config
- defaultConfig :: Config
- setConfigLogSource :: LogSource -> Config -> Config
- setConfigGetDestinationIp :: (Request -> Maybe Text) -> Config -> Config
Documentation
addThreadContext :: [Pair] -> Middleware Source #
Add context to any logging done from the request-handling thread
addThreadContextFromRequest :: (Request -> [Pair]) -> Middleware Source #
addThreadContext, but have the Request available
requestLogger :: HasLogger env => env -> Middleware Source #
Log requests (more accurately, responses) as they happen
In JSON format, logged messages look like:
{
...
message: {
text: "GET foobar => 200 OK",
meta: {
method: GET,
path: "foobar",
query: "?baz=bat&quix=quo",
status: {
code: 200,
message: OK
},
durationMs: 1322.2,
requestHeaders: {
Authorization: "***",
Accept: "text/html",
Cookie: "***"
},
responseHeaders: {
Set-Cookie: "***",
Expires: "never"
}
}
}
}
requestLoggerWith :: HasLogger env => Config -> env -> Middleware Source #