tesla_timber_logger v0.1.0 Tesla.Middleware.TimberLogger

Tesla middleware for logging outgoing requests to Timber.io.

Using this middleware will log all requests and responses using Timber.io formatting and metadata.

Example usage

defmodule MyClient do
  use Tesla
  plug Tesla.Middleware.TimberLogger, service_name: "my-service"
end

Options

  • :service_name - the name of the external service (optional)
  • :log_level - custom function for calculating log level (see below)

Custom log levels

By default, the following log levels will be used:

  • :error - for errors, 5xx and 4xx responses
  • :warn - for 3xx responses
  • :info - for 2xx responses

You can customize this setting by providing your own log_level/1 function:

defmodule MyClient do
  use Tesla
  plug Tesla.Middleware.TimberLogger, log_level: &my_log_level/1

  def my_log_level(env) do
    case env.status do
      404 -> :info
      _ -> :default
    end
  end
end