Skip to content
Composable HTTP logger adapted from Gorilla Handlers
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

httplog for Go

Go Report Card

This is a composable HTTP logging library. It doesn't dictate how you should log your stuff. Instead, it provides a toolkit to help roll your own logger. Use the parts you like and ignore the rest.

  • It's based around a LogRequest struct that contains parsed info about a HTTP request.
  • The LogHandler middleware lets you log any HTTP request. You give it a function that gets a LogRequest. The function can format and write log entries any way it likes.
  • To format log entries, you can use the CommonLogLine or CombinedLogLine function. It's also easy to roll your own formatting: LogRequest should have all the info you need.

The hard parts of this library were extracted from the Gorilla Handlers package. Credit for them goes to Mahmud Ridwan. I just added the composable framework around them. The Gorilla libraries are great, but at the time of writing they impose some restrictions that make it hard to do fancy stuff like log into multiple places and use custom formats. This logging library is also framework-agnostic and doesn't depend on Gorilla or anything else outside the Go standard libraries.


You can’t perform that action at this time.