Configurer la journalisation
Vous n’avez pas besoin de créer une source de journaux pour envoyer des journaux depuis l’intégration AppSignal for Ruby. Une source de journaux “application” sera créée automatiquement.Rails Logger
Vous pouvez configurer le framework Rails pour envoyer des journaux à AppSignal dans un fichier d’initialisation commeconfig/initializers/logging.rb :
Utiliser plusieurs backends de journalisation
Pour envoyer des journaux à la fois au logger d’AppSignal et au logger par défaut de Rails, utilisez l’helper.broadcast_to de notre logger :
Prise en charge de la journalisation taggée
L’utilisation deActiveSupport::TaggedLogging dans les exemples ci-dessus permet la prise en charge des tags de journal de Rails. Par exemple, si vous souhaitez ajouter le tag request ID aux messages de journal, ajoutez-le au tableau config.log_tags dans le fichier config/application.rb :
Utiliser Lograge
La bibliothèque Lograge est une solution populaire pour l’ingestion de journaux de requêtes Rails structurés. Après avoir ajouté la gemlograge, vous pouvez la configurer dans config/initializers/lograge.rb pour envoyer des journaux à AppSignal :
Sinatra Logger
Vous pouvez configurer Sinatra pour envoyer les journaux de requêtes à AppSignal en utilisant le middleware CommonLogger de Rack. Configurez-le comme indiqué ci-dessous. Demandez-vous si les journaux de requêtes contiennent des informations utiles pour vous, lisez notre article du learning center quels journaux dois-je stocker.Utiliser plusieurs backends de journalisation
Pour envoyer des journaux à la fois au logger d’AppSignal et àSTDOUT, utilisez l’helper .broadcast_to de notre logger :
Sidekiq Logger
Vous pouvez configurer Sidekiq pour envoyer ses journaux à AppSignal, y compris les journaux émis par vos jobs en arrière-plan :Utiliser plusieurs backends de journalisation
Pour envoyer des journaux à la fois au logger d’AppSignal et àSTDOUT, utilisez l’helper .broadcast_to de notre logger :
Ruby Logger
Pour envoyer des journaux à AppSignal comme vous le feriez avec la classeLogger de Ruby, vous devrez créer une instance de Appsignal::Logger et lui fournir un groupname qui définit d’où vous journalisez, par exemple, si nous journalisions depuis un helper pour facturer des clients :
Utiliser plusieurs backends de journalisation
Pour envoyer des journaux à la fois au logger d’AppSignal et àSTDOUT, utilisez l’helper .broadcast_to de notre logger :
Semantic Logger
La bibliothèque Semantic Logger fournit une solution de journalisation complète pour les applications Ruby et Rails. Après avoir ajouté la gemsemantic_logger, vous pouvez la configurer pour envoyer des journaux à AppSignal comme suit :
Utiliser plusieurs backends de journalisation
Pour envoyer des journaux à la fois au logger d’AppSignal et àSTDOUT, ajoutez un autre appender en utilisant la méthode add_appender :
Utilisation
Envoi de journaux
Comme la classeLogger de Ruby/Rails, vous pouvez définir le niveau de sévérité de vos journaux en utilisant fatal, error, warn, info et debug :
Attributs par défaut du logger
Lors de l’initialisation du logger AppSignal, vous pouvez fournir des attributs par défaut qui seront inclus dans tous les messages de journal :Formats
Format détecté automatiquement
La gem AppSignal for Ruby détectera automatiquement le format de la ligne de journal comme JSON, Logfmt ou plaintext par défaut, et en analysera les attributs. Vous n’avez pas besoin de définir manuellement le format du journal, sauf s’il n’est pas correctement détecté. Veuillez également nous le signaler si cela ne fonctionne pas automatiquement.Logfmt
Le logger AppSignal peut être configuré explicitement pour attendre que la ligne soit formatée en Logfmt et en analyser les attributs. Utilisez cette option lorsque vous utilisez une version plus ancienne de la gem AppSignal for Ruby, qui ne prend pas en charge la détection automatique du format. Le format de journal peut être spécifié lors de la création d’un logger. Lors de l’initialisation du logger AppSignal, passez la constante Logfmt dans l’option format.JSON
Le logger AppSignal peut être configuré explicitement pour attendre que la ligne soit formatée en JSON et en analyser les attributs. Utilisez cette option lorsque vous utilisez une version plus ancienne de la gem AppSignal for Ruby, qui ne prend pas en charge la détection automatique du format. Le format de journal peut être spécifié lors de la création d’un logger. Lors de l’initialisation du logger AppSignal, passez la constante JSON dans l’option format.Filtrage des journaux
Vous pouvez utiliser l’option de configurationignore_logs pour ignorer les lignes de journal. Consultez notre guide Ignore Logs pour en savoir plus.