Build an Asynchronous Logging Library with Go
What you'll learn
In this project, you'll use Go's concurrency tools to build a fully asynchronous logging package. You'll start with a simple, synchronous logger and add new features which allow log messages to be stored with minimal impact on the performance of your application.
Table of contents
- Setup your local environment for this project. We'll walk you through everything you need to know to setup your local instance, and to access the code you'll be using for this project.
- In this module, you'll add the primary functionality of the logger. This includes support for thread-safe, asynchronous writes to the log and concurrent error handling.
- Eventually, almost all applications need to exit and they should do so gracefully. In this module, you'll add some additional capabilities to the asynchronous logging package that will allow the log to be shut down while ensuring that no pending messages are lost.