The Gorilla handlers package provides various pre-written middleware for common tasks. The most important ones in the list are:
- LoggingHandler: For logging in Apache Common Log Format (CLF)
- CompressionHandler: For zipping the responses
- RecoveryHandler: For recovering from unexpected panics
Here, we use the LoggingHandler middleware to perform API-wide logging. First, install this library using go get, like this:
go get "github.com/gorilla/handlers"
This logging server enables us to create a server-like a log with time and options. For example, when you see apache.log, you find the log in a standard format, as shown in the following code block:
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...