Logs and Errors

Learn how to use Logger in Elixir to provide defense against bugs.

Logger

The first defense against bugs is application-specific information, and the best way to acquire that is via old-fashioned logging. Elixir comes with the creatively named built-in Logger for logging messages. The word “messages” matters, because Logger was designed with a focus on text-based reports and not structured data. Logger contains four severity levels. From least to most severe, they are as follows:

  1. The :debug level
  2. The :info level
  3. The :warn level
  4. The :error level

When we configure Logger for the :info level, it will log :info and everything more severe, including :warn and :error messages. A developer can log any message at any time through the Logger API, like this:

Press + to interact
require Logger
Logger.debug "hello"

Logger also handles errors for all processes that terminate abruptly in the system.

Now, ...