Zum Hauptinhalt springen
Das AppSignal Ruby-Gem kann auf verschiedene Arten konfiguriert werden: über einen Initializer, mit einer Konfigurationsdatei oder über Umgebungsvariablen.
In Ruby-Gem-Version 2.0 hat sich die Ladereihenfolge geändert! Schritt 4 und 5 wurden vertauscht, sodass sichergestellt ist, dass Umgebungsvariablen nach der Konfigurationsdatei appsignal.yml geladen werden. Mehr dazu im Pull Request auf GitHub.
Die Konfiguration wird in einem fünfstufigen Prozess geladen. Es beginnt mit den Standardwerten des Gems und endet mit dem Lesen der Umgebungsvariablen. Die Konfigurationsoptionen können kombiniert werden, ohne dass Konfiguration aus einer anderen Option verloren geht. Die Verwendung eines Initializers, einer Konfigurationsdatei und von Umgebungsvariablen zusammen funktioniert.

Konfigurationsquellen

1. Gem-Standardwerte

Das AppSignal-Gem beginnt mit dem Laden seiner Standardkonfiguration, dem Setzen von Pfaden und dem Aktivieren bestimmter Funktionen. Die Standardwerte des Agents finden Sie in der Gem-Quelle als Appsignal::Config::DEFAULT_CONFIG. Diese Quelle wird in der Diagnose-Ausgabe als default aufgeführt.

2. Systemerkannte Einstellungen

Das Gem erkennt, auf welchem System es läuft, und konfiguriert sich entsprechend. Wenn es z. B. innerhalb eines containerbasierten Systems (wie Docker und Heroku) läuft, setzt es die Konfigurationsoption :running_in_container auf true. Diese Quelle wird in der Diagnose-Ausgabe als system aufgeführt.

3. Initiale Konfiguration, die dem Config-Initializer übergeben wird

Diese Konfigurationsmethode ist seit Ruby-Gem 3.12 veraltet und wurde in Ruby-Gem 4.0.0 zugunsten von Appsignal.configure entfernt.
Wenn Sie eine Appsignal::Config-Klasse manuell erstellen, können Sie die initiale Konfiguration übergeben, die angewendet werden soll. Dies ist ein Hash mit einer der unten beschriebenen Optionen.
Appsignal.config = Appsignal::Config.new(Dir.pwd, "production", {
  active: true,
  name: "My app!",
  push_api_key: "e55f8e96-62df-4817-b672-d10c8d924065"
})
Dieser Schritt überschreibt alle angegebenen Optionen aus den Standardwerten oder der systemerkannten Konfiguration. Diese Quelle wird in der Diagnose-Ausgabe als initial aufgeführt.

4. appsignal.yml-Konfigurationsdatei

Diese Konfigurationsmethode wird in der nächsten Major-Version des Ruby-Gems entfernt. Wir empfehlen, stattdessen die appsignal.rb-Konfigurationsdatei zu verwenden.
Eine Möglichkeit, Ihre Anwendung zu konfigurieren, ist die appsignal.yml-Datei. Wenn Sie den Befehl appsignal install verwenden, erstellt das Gem eine für Sie. Der Pfad dieser Konfigurationsdatei ist {project_root}/config/appsignal.yml. Dieser Schritt überschreibt alle angegebenen Optionen aus den Standardwerten, der systemerkannten und der Initializer-Konfiguration. Lesen Sie die appsignal.yml-Konfigurationsdatei-Dokumentation für weitere Informationen, wie diese Konfigurationsmethode funktioniert. Diese Quelle wird in der Diagnose-Ausgabe als file aufgeführt.

5. Umgebungsvariablen

AppSignal sucht in Umgebungsvariablen nach seiner Konfiguration. Wenn gefunden, überschreiben diese alle in vorherigen Schritten gesetzten Konfigurationsoptionen.
export APPSIGNAL_APP_NAME="my custom app name"
# start your app here
Lesen Sie die System-Umgebungsvariablen-Dokumentation für weitere Informationen, wie diese Konfigurationsmethode funktioniert. Diese Quelle wird in der Diagnose-Ausgabe als env aufgeführt.

6. appsignal.rb-Konfigurationsdatei

Eine Möglichkeit, Ihre Anwendung zu konfigurieren, ist die appsignal.rb-Datei. Der Pfad dieser Konfigurationsdatei ist {project_root}/config/appsignal.rb. Dieser Ladepfad kann nicht angepasst werden. Dieser Schritt überschreibt alle angegebenen Optionen aus den Standardwerten, der systemerkannten und den Umgebungsvariablen. Wenn sowohl eine appsignal.yml-Konfigurationsdatei als auch eine appsignal.rb-Konfigurationsdatei vorhanden sind, wird nur die appsignal.rb-Konfigurationsdatei geladen. Lesen Sie die appsignal.rb-Konfigurationsdatei-Dokumentation für weitere Informationen, wie diese Konfigurationsmethode funktioniert. Diese Quelle wird in der Diagnose-Ausgabe als dsl aufgeführt.

7. Appsignal.configure-Helper

In Version 3 und 4 des Ruby-Gems wird beim Aufruf des Appsignal.configure-Helpers auch die appsignal.yml-Datei geladen, falls vorhanden. Dieses Verhalten wird in der nächsten Major-Version des Ruby-Gems entfernt. Bitte verwenden Sie nur die appsignal.rb-Konfigurationsdatei oder den Appsignal.configure-Helper.
Schließlich kann das Ruby-Gem mit dem Appsignal.configure-Helper in der Anwendung konfiguriert werden. Beim Aufruf überschreiben alle mit diesem Helper konfigurierten Konfigurationsoptionen alle in vorherigen Quellen angegebenen Konfigurationsoptionen. Wenn auch eine config/appsignal.rb-Konfigurationsdatei im Projekt vorhanden ist, wird sie nicht geladen, wenn der Appsignal.configure-Helper zuerst in Ihrer Anwendung aufgerufen wird. Lesen Sie die Dokumentation zum Appsignal.configure-Helper für weitere Informationen, wie diese Konfigurationsmethode funktioniert. Diese Quelle wird in der Diagnose-Ausgabe als dsl aufgeführt.