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
10m
- 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.
Writing Asynchronous Log Entries
45m
- 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.
Shutting Down the Log
30m
- 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.