Passer au contenu principal
AppSignal pour Elixir peut être configuré de plusieurs façons. Via la configuration Mix ou via des variables d’environnement. La configuration est chargée en un processus en quatre étapes. Cela commence par les valeurs par défaut du paquet et se termine par la lecture des variables d’environnement. Les options de configuration peuvent être combinées sans perdre la configuration provenant d’une autre option. L’utilisation conjointe d’un initialiseur, d’un fichier de configuration et de variables d’environnement fonctionnera.

Ordre de chargement

1. Valeurs par défaut du paquet

Le paquet AppSignal commence par charger sa configuration par défaut, en définissant les chemins et en activant certaines fonctionnalités. Les valeurs par défaut de l’agent peuvent être trouvées dans la documentation des options de configuration. Cette source est listée comme default dans la sortie de diagnose.

2. Paramètres détectés par le système

Le paquet détecte le type de système sur lequel il s’exécute et se configure en conséquence. Par exemple, lorsqu’il s’exécute sur Heroku, il définit l’option de configuration :running_in_container sur true et :log sur "stdout". Cette source est listée comme system dans la sortie de diagnose.

3. Configuration Mix

Le paquet AppSignal est le plus souvent configuré via la configuration dans le fichier de configuration Mix.
# config/config.exs
# or 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
Cette étape remplacera toutes les options fournies par les valeurs par défaut ou la configuration détectée par le système. Cette source est listée comme file dans la sortie de diagnose.

4. Variables d’environnement

Notre intégration recherchera sa configuration dans les variables d’environnement. Lorsqu’elles sont trouvées, elles remplaceront toutes les options de configuration fournies par les étapes précédentes.
export APPSIGNAL_APP_NAME="AppsignalPhoenixExample"
# start your app here
Cette source est listée comme env dans la sortie de diagnose.

5. Overrides

Une fois toute la configuration connue, notre intégration effectue une dernière vérification pour s’assurer que la configuration ne se contredit pas elle-même ou que certaines options de configuration par défaut ne sont pas absentes. La source de configuration « override » contient ces derniers changements de configuration effectués par l’intégration. Lorsqu’elle remplace la valeur d’une option de configuration, cette valeur est prioritaire. Par exemple, à un moment donné, nous avons déprécié l’option skip_session_data au profit de l’option send_session_data. Lorsque l’option de configuration skip_session_data était configurée par l’application, mais que send_session_data ne l’était pas, l’intégration utilisait la valeur de skip_session_data pour définir la valeur de l’option de configuration send_session_data.