The Gorilla Handlers package provides various kinds of middleware for common tasks. The most important ones in the list are:
LoggingHandler
: For logging in Apache Common Log FormatCompressionHandler
: For zipping the responsesRecoveryHandler
: For recovering from unexpected panics
Here, we use the LoggingHandler
to perform API-wide logging. First, install this library using go get:
go get "github.com/gorilla/handlers"
This logging server enables us to create a server like a log with time and option. For example, when you see apache.log
, you find something like this:
192.168.2.20 - - [28/Jul/2006:10:27:10 -0300] "GET /cgi-bin/try/ HTTP/1.0" 200 3395 127.0.0.1 - - [28/Jul/2006:10:22:04 -0300] "GET / HTTP/1.0" 200 2216
The format is IP-Date-Method:Endpoint-ResponseStatus
. Writing our own such middleware will take some effort. But Gorilla Handlers already implements it for us. Take a look at the following code snippet:
package main import ( "github...