Logging konfigurieren
Sie müssen keine Log-Quelle erstellen, um Logs aus der AppSignal for Ruby-Integration zu senden. Eine “application”-Log-Quelle wird automatisch erstellt.Rails Logger
Sie können das Rails-Framework so konfigurieren, dass es Logs an AppSignal sendet, indem Sie eine Initializer-Datei wieconfig/initializers/logging.rb verwenden:
Mehrere Logging-Backends verwenden
Um Logs sowohl an den AppSignal-Logger als auch an den Standard-Logger von Rails zu senden, verwenden Sie den.broadcast_to-Helper unseres Loggers:
Unterstützung für Tagged Logging
Die Verwendung vonActiveSupport::TaggedLogging in den obigen Beispielen ermöglicht die Unterstützung der Log-Tags von Rails. Wenn Sie beispielsweise das Request-ID-Tag zu den Log-Nachrichten hinzufügen möchten, fügen Sie es dem config.log_tags-Array in der Datei config/application.rb hinzu:
Lograge verwenden
Die Lograge-Bibliothek ist eine beliebte Lösung zum Ingestieren strukturierter Rails-Request-Logs. Nachdem Sie daslograge-Gem hinzugefügt haben, können Sie es in config/initializers/lograge.rb so konfigurieren, dass es Logs an AppSignal sendet:
Sinatra Logger
Sie können Sinatra so konfigurieren, dass es Request-Logs an AppSignal sendet, indem Sie die CommonLogger-Middleware von Rack verwenden. Konfigurieren Sie sie wie unten gezeigt. Überlegen Sie, ob Request-Logs nützliche Informationen für Sie enthalten; lesen Sie unseren Learning-Center-Artikel what logs should I store.Mehrere Logging-Backends verwenden
Um Logs sowohl an den AppSignal-Logger als auch anSTDOUT zu senden, verwenden Sie den .broadcast_to-Helper unseres Loggers:
Sidekiq Logger
Sie können Sidekiq so konfigurieren, dass es seine Logs an AppSignal sendet, einschließlich der Logs, die von Ihren Hintergrundjobs ausgegeben werden:Mehrere Logging-Backends verwenden
Um Logs sowohl an den AppSignal-Logger als auch anSTDOUT zu senden, verwenden Sie den .broadcast_to-Helper unseres Loggers:
Ruby Logger
Um Logs an AppSignal zu senden, wie Sie es mit derLogger-Klasse von Ruby tun würden, müssen Sie eine Instanz von Appsignal::Logger erstellen und ihr einen groupname übergeben, der definiert, von wo aus Sie loggen. Wenn wir beispielsweise aus einem Helper zum Rechnungsstellen an Kunden loggen würden:
Mehrere Logging-Backends verwenden
Um Logs sowohl an den AppSignal-Logger als auch anSTDOUT zu senden, verwenden Sie den .broadcast_to-Helper unseres Loggers:
Semantic Logger
Die Semantic Logger-Bibliothek bietet eine umfassende Logging-Lösung für Ruby- und Rails-Anwendungen. Nachdem Sie dassemantic_logger-Gem hinzugefügt haben, können Sie es wie folgt konfigurieren, um Logs an AppSignal zu senden:
Mehrere Logging-Backends verwenden
Um Logs sowohl an den AppSignal-Logger als auch anSTDOUT zu senden, fügen Sie mit der Methode add_appender einen weiteren Appender hinzu:
Verwendung
Logs senden
Wie bei derLogger-Klasse von Ruby/Rails können Sie die Severity-Stufe Ihrer Logs mit fatal, error, warn, info und debug definieren:
Standard-Logger-Attribute
Beim Initialisieren des AppSignal-Loggers können Sie Standardattribute angeben, die in allen Log-Nachrichten enthalten sind:Formate
Automatisch erkanntes Format
Das AppSignal for Ruby-Gem erkennt das Format der Log-Zeile standardmäßig automatisch als JSON, Logfmt oder Plaintext und parst die Attribute daraus. Sie müssen das Log-Format nicht manuell einstellen, es sei denn, es wird nicht ordnungsgemäß erkannt. Bitte benachrichtigen Sie uns auch, wenn dies nicht automatisch funktioniert.Logfmt
Der AppSignal Logger kann explizit so konfiguriert werden, dass er erwartet, dass die Zeile als Logfmt formatiert ist, und Attribute daraus parst. Verwenden Sie diese Option, wenn Sie eine ältere Version des AppSignal for Ruby-Gems verwenden, die keine automatische Formaterkennung unterstützt. Das Log-Format kann beim Erstellen eines Loggers angegeben werden. Übergeben Sie beim Initialisieren des AppSignal-Loggers die Logfmt-Konstante in der Optionformat.
JSON
Der AppSignal Logger kann explizit so konfiguriert werden, dass er erwartet, dass die Zeile als JSON formatiert ist, und Attribute daraus parst. Verwenden Sie diese Option, wenn Sie eine ältere Version des AppSignal for Ruby-Gems verwenden, die keine automatische Formaterkennung unterstützt. Das Log-Format kann beim Erstellen eines Loggers angegeben werden. Übergeben Sie beim Initialisieren des AppSignal-Loggers die JSON-Konstante in der Optionformat.
Logs filtern
Sie können die Konfigurationsoptionignore_logs verwenden, um Log-Zeilen zu ignorieren. Lesen Sie unseren Leitfaden zum Ignorieren von Logs, um mehr zu erfahren.