Skills Expanded

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
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.

About the author

Michael Van Sickle is an application architect in Akron, Ohio. He started his career as a mechanical engineer, designing components for the automotive industry, before changing to software engineering. He is passionate about learning new programming languages and is comfortable working in Java, C#, JavaScript, PHP, and F#. Mike also loves learning about user experience design and is taking a lead role in his company's attempt to make applications that are elegant and simple. When he i... more

Ready to upskill? Get started