| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Network.Wai.Log
Contents
Description
A simple logging middleware for WAI applications that supports the 'log-*' family of packages: https://hackage.haskell.org/package/log-base
When logging to stdout using defaultOptions, the output looks like this:
2019-02-21 19:51:47 INFO my-server: Request received {
"url": "/api/myapi",
"body-length": "KnownLength 0",
"method": "GET",
"user-agent": "curl/7.54.0",
"remote-host": "127.0.0.1:61249"
}
2019-02-21 19:51:47 INFO my-server: Sending response
2019-02-21 19:51:47 INFO my-server: Request complete {
"status": {
"code": 200,
"message": "OK"
},
"time": {
"process": 2.224e-3,
"full": 2.348e-3
}
}
Synopsis
- mkApplicationLogger :: MonadLog m => m Middleware
- mkApplicationLoggerWith :: MonadLog m => Options -> m Middleware
- data Options = Options {
- logLevel :: LogLevel
- logRequest :: Request -> [Pair]
- logSendingResponse :: Bool
- logResponse :: Request -> Response -> ResponseTime -> [Pair]
- defaultOptions :: Options
Create a Middleware
mkApplicationLogger :: MonadLog m => m Middleware Source #
Create a logging Middleware using defaultOptions
Use mkApplicationLoggerWith for custom Options
mkApplicationLoggerWith :: MonadLog m => Options -> m Middleware Source #
Create a logging Middleware using the supplied Options
Options
Logging options
Constructors
| Options | |
Fields
| |
defaultOptions :: Options Source #
Default Options
{ logLevel = LogInfo
, logRequest = defaultLogRequest
, logSendingResponse = True
, logResponse = defaultLogResponse
}