Structured logging with the apex and logrus packages
The primary reason to log information is to examine the state of the system when events occur or occurred in the past. Basic log messages are tricky to comb over when you have a large number of microservices that are logging.
There's a variety of third-party packages for combing over logs if you can get the logs into a data format they understand. These packages provide indexing functionality, searchability, and more. The sirupsen/logrus
and apex/log
packages provide a way to do structured logging where you can log a number of fields that can be reformatted to fit these third-party log readers. For example, it's simple to emit logs in the JSON format to be parsed by a variety of services.
Getting ready
Configure your environment according to these steps:
- Refer to the Getting ready section of the Handling errors and the Error interface recipe.
- Run the
go get github.com/sirupsen/logrus
command. - Run the
go get github.com/apex/log
command.