Well, not much of a comparison here, though one observation: I wouldn’t say that Gin’s logging implementation is superior in any way. For most intents and purposes, modern containerised services would do well to be able to output JSON logs. In Gin it’s easy to add a JSOn logging middleware that overrides the build in key/value one but to convert all of the frameworks logs to JSON is unnecessarily complicated. Also, their own logger wraps Logrus, which is the slowest of the Go logging tools (particularly with JSON).

Echo does a much better job at it, not to mention it logs natively to JSON (but it’s trivial to switch to a key/value log).