Pular para o conteúdo principal
O AppSignal Elixir pode ser configurado de algumas formas diferentes. Por meio da configuração do Mix ou por meio de variáveis de ambiente. A configuração é carregada em um processo de quatro etapas. Começando pelos padrões do pacote e terminando com a leitura das variáveis de ambiente. As opções de configuração podem ser misturadas sem perder a configuração de uma opção diferente. Usar um initializer, um arquivo de configuração e variáveis de ambiente juntos funciona.

Ordem de carregamento

1. Padrões do pacote

O pacote AppSignal começa carregando sua configuração padrão, definindo caminhos e habilitando certos recursos. Os padrões do agente podem ser encontrados na documentação das opções de configuração. Esta fonte é listada como default na saída do diagnose.

2. Configurações detectadas do sistema

O pacote detecta em que tipo de sistema está rodando e se configura de acordo. Por exemplo, quando está rodando no Heroku, ele define a opção de configuração :running_in_container como true e :log como "stdout". Esta fonte é listada como system na saída do diagnose.

3. Configuração do Mix

O pacote AppSignal é mais comumente configurado com configuração no arquivo de configuração do Mix.
# config/config.exs
# ou config/prod.exs
config :appsignal, :config,
  otp_app: :appsignal_phoenix_example,
  name: "AppsignalPhoenixExample",
  push_api_key: "your-push-api-key",
  env: Mix.env,
  active: true
Esta etapa sobrescreverá todas as opções fornecidas pelos padrões ou pela configuração detectada do sistema. Esta fonte é listada como file na saída do diagnose.

4. Variáveis de ambiente

Nossa integração procurará sua configuração em variáveis de ambiente. Quando encontradas, elas sobrescreverão todas as opções de configuração fornecidas nas etapas anteriores.
export APPSIGNAL_APP_NAME="AppsignalPhoenixExample"
# inicie seu app aqui
Esta fonte é listada como env na saída do diagnose.

5. Overrides

Quando toda a configuração é conhecida, nossa integração fará uma verificação final para descobrir se a configuração não se contradiz ou se algumas opções padrão de configuração não estão definidas. A fonte de configuração “override” incluirá essas últimas alterações de configuração feitas pela integração. Quando ela sobrescreve um valor de opção de configuração, esse valor prevalece. Por exemplo, em determinado momento descontinuamos a opção skip_session_data em favor da opção send_session_data. Quando a opção de configuração skip_session_data foi configurada pela aplicação, mas send_session_data não, a integração usaria o valor de skip_session_data para definir o valor da opção de configuração send_session_data.