Timber v3.1.2 Timber.Config View Source

Configuration for the Timber library

All supported options are described within their respective method:

Each configuration option can be set like the following:

config :timber,
  key: :value

Please see the respective method for examples.

Link to this section Summary

Functions

Your Timber application API key

Helpful to inspect internal Timber activity; a useful debugging utility

Change the name of the Logger metadata key that Timber uses for events. By default, this is :event

Alternate URL for delivering logs. This is helpful if you want to use a proxy, for example

Alternate URL for delivering logs. This is helpful if you want to use a proxy, for example

Your Timber source ID

Use nanoseconds, instead of the default microseconds, for log timestamps

Link to this section Functions

Your Timber application API key.

This can be obtained after you create your account & source in https://app.timber.io

Example

config :timber,
  api_key: "abcd1234"

You can also use a {:system, "TIMBER_API_KEY"} tuple if you prefer environment variables.

config :timber,
  api_key: {:system, "TIMBER_API_KEY"}

Helpful to inspect internal Timber activity; a useful debugging utility.

If specified, Timber will write messages to this device. We cannot use the standard Logger directly because it would create an infinite loop since Timber operated within the Logger.

Default: nil

Example

config :timber,
  debug_io_device: :stdio

Change the name of the Logger metadata key that Timber uses for events. By default, this is :event

Default: :event

Example

config :timber,
  event_key: :timber_event

Then use it like so:

Logger.info("test", timber_event: my_event)

Alternate URL for delivering logs. This is helpful if you want to use a proxy, for example.

Default: HackneyHTTPClient

Example

config :timber,
  http_client: Timber.HTTPClients.Hackney

Alternate URL for delivering logs. This is helpful if you want to use a proxy, for example.

Default: https://logs.timber.io

Example

config :timber, :http_host, "https://logs.timber.io"

You can also use a {:system, "TIMBER_HOST"} tuple if you prefer environment variables.

config :timber,
  http_host: {:system, "TIMBER_HOST"}

Your Timber source ID.

This can be obtained after you create your account & source in https://app.timber.io

Example

config :timber,
  source_id: "1234"

You can also use a {:system, "TIMBER_SOURCE_ID"} tuple if you prefer environment variables.

config :timber,
  source_id: {:system, "TIMBER_SOURCE_ID"}
Link to this function

use_nanosecond_timestamps?() View Source
use_nanosecond_timestamps?() :: boolean()

Use nanoseconds, instead of the default microseconds, for log timestamps.

Unfortunately the Elixir.Logger produces timestamps with microsecond precision. This is no adequate in a high volume system, resulting in logs with the same timestamps, making it difficult to preseve the exact order the logs were created. By enabling this, Timber will discard the default Elixir.Logger timestamps and use it's own with nanosecond precision.

Default: true

Example

config :timber,
  nanosecond_timestamps: true