Logo of AppSignal

Menu
Docs navigation

AppSignal Elixir configuration options

The following list includes all configuration options with the name of the environment variable and the name of the key in the configuration file.

For more information on how to configure AppSignal with a configuration file or system environment variables, see our Configuration topic.

APPSIGNAL_ACTIVE / :active

  • Value: true/false. Default: false

Whether AppSignal is active for this environment, can be true or false.

APPSIGNAL_APP_ENV / :env

  • Value: Atom. Default: :dev

The AppSignal environment in which the configuration is stored.

Other valid values are :test and :prod.

Note: This environment variable name for this configuration option was renamed from APPSIGNAL_ENVIRONMENT to APPSIGNAL_APP_ENV after version 0.9.2.

APPSIGNAL_APP_NAME / :name

  • Value: Atom/String.

Name of your application as it should be displayed on AppSignal.com.

APPSIGNAL_CA_FILE_PATH / :ca_file_path

  • Available since package version 0.12.0.
  • Value: String. Default: nil

Configure the path of the SSL certificate file on your machine. Default is nil and will use the system default certificate files. Use this option to point to another certificate file if there's a problem connecting to our API.

Note: The specified path cannot contain Operating Specific file system abstractions, such as the homedir symbol ~ for *NIX systems. This will be seen an malformed path.

APPSIGNAL_DEBUG / :debug

  • Value: true/false. Default: false

Enable debug logging, this is usually only needed on request from support.

APPSIGNAL_DNS_SERVERS / :dns_servers

  • Available since package version 1.3.0.beta.2.
  • Value: list(String). Default: []

Configure DNS servers for the AppSignal agent to use.

1
2
3
# config/config.exs
config :appsignal, :config,
  dns_servers: ["8.8.8.8", "8.8.4.4"]
1
2
# In the host environment
export APPSIGNAL_DNS_SERVERS="8.8.8.8,8.8.4.4"

If you're affected by our DNS timeouts, try setting a DNS server manually using this option that doesn't use more than 4 dots in the server name.

Acceptable values: 8.8.8.8, my.custom.local.server. Not acceptable values: foo, my.awesome.custom.local.dns.server.

If the DNS server cannot be reached the agent will fall back on the host's DNS configuration and output a message in the appsignal.log file: A problem occured while setting DNS servers.

APPSIGNAL_ENABLE_HOST_METRICS / :enable_host_metrics

  • Value: true/false. Default: true

Set this to false to disable host metrics.

APPSIGNAL_FILES_WORLD_ACCESSIBLE / :files_world_accessible

  • Available since package version 1.3.4.
  • Value: Boolean true/false. Default: true

If this is set to true the AppSignal working directory that is created is accessible for all users (Unix permissions 0666). This is often necessary because processes for the same app run under a different user. Set to false to disable this behaviour (Unix permissions 0644).

APPSIGNAL_FILTER_PARAMETERS / :filter_parameters

  • Value: list(String). Default: []

List of parameter keys that should be ignored using AppSignal filtering. Their values will be replaced with [FILTERED] when transmitted to AppSignal. You can configure this with a list of keys in the configuration file.

1
2
3
# config/appsignal.exs
config :appsignal, :config,
  filter_parameters: ["password", "secret"]

Read more about parameter filtering.

APPSIGNAL_FILTER_SESSION_DATA / :filter_session_data

  • Available since package version 1.6.0 (upgrade to 1.6.3 is recommended).
  • Value: list(String). Default: []

List of session data keys that should be ignored using AppSignal filtering. Their values will be replaced with [FILTERED] when transmitted to AppSignal. You can configure this with a list of keys in the configuration file.

1
2
3
# config/appsignal.exs
config :appsignal, :config,
  filter_session_data: ["name", "email", "api_token", "token"]

Read more about session data filtering.

APPSIGNAL_HOSTNAME / :hostname

  • Available since package version 0.12.0.
  • Value: String. Default: detected from system.

This overrides the server's hostname. Useful for when you're unable to set a custom hostname or when a nondescript id is generated for you on hosting services.

APPSIGNAL_HTTP_PROXY / :http_proxy

  • Value: String. Default: "".

If you require the agent to connect to the Internet via a proxy set the complete proxy URL in this configuration key.

APPSIGNAL_IGNORE_ACTIONS / :ignore_actions

  • Value: list(String). Default: [].

List of actions that will be ignored, everything that happens including exceptions will not be transmitted to AppSignal.

Read more about ignoring actions.

APPSIGNAL_IGNORE_ERRORS / :ignore_errors

  • Value: list(String). Default: [].

List of error classes that will be ignored. Any error raised with this error type will not be transmitted to AppSignal.

Read more about ignoring errors.

APPSIGNAL_IGNORE_NAMESPACES / :ignore_namespaces

  • Available since package version 1.3.0.
  • Value: list(String). Default: [].

List of namespaces that will be ignored. Any error raised or slow request that occurs in this namespace will not be send to AppSignal. Read more about namespaces.

APPSIGNAL_LOG / :log

  • Value: Atom. Default: :file

Select which logger to the AppSignal agent should use. Accepted values are :file and :stdout. See also the log_path configuration.

  • file (default)
    • Write all AppSignal logs to the file system.
  • stdout (default on Heroku)
    • Print AppSignal logs in the parent process' STDOUT instead of to a file. Useful with hosting solutions such as container systems and Heroku.

Note: At this time only the Elixir library supports this feature and the AppSignal agent, which is used by the Elixir library, does not yet support this.

APPSIGNAL_LOG_PATH / :log_path

  • Value: String. Default: /tmp/appsignal.log

Override the location of the path where the AppSignal log file will be written to.

Note: The specified path cannot contain Operating Specific file system abstractions, such as the homedir symbol ~ for *NIX systems. This will be seen an malformed path.

APPSIGNAL_PUSH_API_ENDPOINT / :endpoint

  • Value: String. Default: https://push.appsignal.com

Configure the endpoint to send data to AppSignal.

APPSIGNAL_PUSH_API_KEY / :push_api_key

  • Value: String

The Push API key to authenticate with when sending data to AppSignal.

APPSIGNAL_REQUEST_HEADERS / :request_headers

  • Available since package version 1.6.0 (upgrade to 1.6.3 is recommended).
  • Value: list(String). Default: [].

The request_headers config option contains a list of HTTP request headers which are read and stored by the AppSignal Elixir package.

This request_headers config option is a whitelist, which means that it will only take headers as specified by this config option. If this config option is unset it will use the AppSignal default.

Following list is the AppSignal package default.

1
2
3
4
5
6
7
# config/appsignal.exs
config :appsignal, :config,
  request_headers: ~w(
    accept accept-charset accept-encoding accept-language cache-control
    connection content-length path-info range request-method
    request-uri server-name server-port server-protocol
  )

To configure AppSignal to not store any HTTP request headers on AppSignal transactions, configure the option with an empty array.

1
2
3
# config/appsignal.exs
config :appsignal, :config,
  request_headers: []

APPSIGNAL_RUNNING_IN_CONTAINER / :running_in_container

  • Value: true/false. Default: false

AppSignal expects to be running on the same machine between different deploys. Set this key to true if you use a container based deployment system such as Docker.

This option is set to true on Heroku.

APPSIGNAL_SKIP_SESSION_DATA / :skip_session_data

  • Value: true/false. Default: false

Whether to skip adding session data to exception traces and performance issue samples.

APPSIGNAL_WORKING_DIR_PATH / :working_dir_path

Warning: This config option is deprecated in Elixir package 1.8.0. Please use the working_directory_path option instead for Elixir package 1.8.0 and newer.

  • Value: String. Default: detected by agent

Override the location where AppSignal for Elixir creates a working directory.

Note: The specified path cannot contain Operating Specific file system abstractions, such as the homedir symbol ~ for *NIX systems. This will be seen an malformed path.

APPSIGNAL_WORKING_DIRECTORY_PATH / :working_directory_path

  • Available since package version 1.8.0. (Please use the working_dir_path option on earlier versions.)
  • Value: String. Default: detected by agent

Override the location where AppSignal for Elixir can store temporary files. Use this option if the default location is not suitable. See our how AppSignal operates page for more information about the purpose of this working directory.

If you are running multiple applications using AppSignal on the same server, use this configuration option to select different working directories for every AppSignal instance, otherwise the two instances could conflict with one another. For more information on this scenario see our running multiple applications on one host documentation.

1
2
3
# config/config.exs
config :appsignal, :config,
  working_dir_path: "/tmp/project_1/"

Note: The specified path cannot contain Operating Specific file system abstractions, such as the homedir symbol ~ for *NIX systems. This will be seen an malformed path.

APP_REVISION / :revision

  • Available since package version 1.5.0.
  • Value: String. Default: "".

Set the app revision for the currently running version of your app. Used to create deploy markers and tag all incoming data to a certain deploy for the host.

Read more about deploy markers on the deploy markers.

We'd like to set cookies, read why.