Question heroku - comment voir tous les journaux


J'ai une petite application sur heroku. Chaque fois que je veux voir les journaux, je vais à la ligne de commande et faire

heroku logs

Cela me montre seulement environ 100 lignes. N'y a-t-il pas un moyen de voir les logs complets pour notre application sur heroku?


418
2018-04-19 22:57


origine


Réponses:


Mise à jour (merci à dawmail333):

heroku logs -n 1500

ou, pour suivre les journaux en direct

heroku logs -t 

Documentation de journal Heroku

Si vous avez besoin de plus de quelques milliers de lignes, vous pouvez utiliser Heroku Drains Syslog

Alternativement (ancienne méthode):

$ heroku run rails c
File.open('log/production.log', 'r').each_line { |line| puts line }

708
2018-04-20 03:12



La journalisation s'est grandement améliorée en heroku!

$ heroku logs -n 500

Meilleur!

$ heroku logs --tail

les références: http://devcenter.heroku.com/articles/logging

ACTUALISÉ

Ce ne sont plus des add-ons, mais une partie de la fonctionnalité par défaut :)


131
2018-04-19 15:43



Heroku traite les journaux comme des flux d'événements ordonnés dans le temps. Accès *.log Les fichiers sur le système de fichiers ne sont pas recommandés dans un tel environnement pour diverses raisons.

Tout d'abord, si votre application a plus d'un dyno, chaque fichier journal ne représente qu'une vue partielle des événements de votre application. Vous devez agréger manuellement tous les fichiers pour obtenir l'affichage complet.

Deuxièmement, le système de fichiers sur Heroku est une signification éphémère chaque fois que votre dyno est redémarré ou déplacé (ce qui arrive à propos de une fois par jour) les fichiers journaux sont perdus. Vous n'avez donc au moins qu'une vue d'une journée sur les journaux de ce dyno.

Enfin, sur le Pile de cèdre fonctionnement heroku console ou même heroku run bash ne vous connecte pas à un dyno en cours d'exécution. Il engendre un nouveau spécifiquement pour la bash commander. C'est ce qu'on appelle un processus unique. En tant que tel, vous ne trouverez pas les fichiers journaux pour vos autres dynos qui exécutent les processus http réels sur celui engendré pour heroku run.

Enregistrement, et la visibilité en général, est un citoyen de première classe sur Heroku et il existe plusieurs outils qui traitent de ces problèmes. Tout d'abord, pour voir un flux d'événements d'application en temps réel à travers tous les dynos et toutes les couches de l'application / pile Utilisez le heroku logs -t commande à la sortie de queue à votre terminal.

$ heroku logs -t
2010-09-16T15:13:46-07:00 app[web.1]: Processing PostController#list (for 208.39.138.12 at 2010-09-16 15:13:46) [GET]
2010-09-16T15:13:46-07:00 app[web.1]: Rendering template within layouts/application
2010-09-16T15:13:46-07:00 heroku[router]: GET myapp.heroku.com/posts queue=0 wait=0ms service=1ms bytes=975
2010-09-16T15:13:47-07:00 app[worker.1]: 2 jobs processed at 16.6761 j/s, 0 failed ...

Cela fonctionne très bien pour observer le comportement de votre application dès maintenant. Si vous voulez stocker les journaux pendant des périodes plus longues, vous pouvez utiliser l'un des nombreux modules de journalisation qui fournissent la rétention de journal, l'alerte et les déclencheurs.

Enfin, si vous voulez stocker les fichiers journaux vous-même, vous pouvez configurer votre propre vidange syslog recevoir le flux d'événements de Heroku et post-traiter / analyser vous-même.

Résumé: Ne pas utiliser heroku console ou heroku run bash pour afficher les fichiers journaux statiques. Pipe dans le flux des événements de journal de Heroku pour votre application en utilisant heroku logs ou un module complémentaire de journalisation.


48
2018-06-20 11:13



Voir également les flux / filtres individuels.

Par exemple, n'inscrivez que vos journaux d'application

heroku logs --source app -t

Ou ne voir que les journaux du routeur

heroku logs --ps router

Ou enchaînez-les ensemble

heroku logs --source app --ps worker

Tellement bon..


19
2018-05-19 13:13



Eh bien, les réponses ci-dessus sont très utiles, cela vous aidera à voir à partir de la ligne de commande. Alors que si vous voulez faire à partir de votre interface graphique, vous devez vous connecter à votre compte heroku, puis sélectionnez votre application et enfin cliquez sur Afficher les journaux

image view


14
2017-08-03 11:06



Suivre sur Heroku exploitation forestière

Pour voir vos journaux, nous avons:

  1. La commande logs retrace par défaut 100 lignes de journal.

journaux de heroku

  1. Affiche au maximum 1500 lignes, option --num (ou -n).

Heroku enregistre -n 200

  1. Afficher les journaux en temps réel

rondins de heroku - queue

  1. Si vous avez beaucoup d'applications sur heroku

journaux heroku - appliquez votre nom_application


11
2017-12-01 12:13



heroku logs -t nous montre les journaux en direct.


8
2018-06-14 21:48



Cela pourrait valoir la peine d'ajouter quelque chose comme le plan Papertrail gratuit à votre application Zéro configuration, et vous obtenez 7 jours de journalisation des données jusqu'à 10 Mo / jour, et peut effectuer une recherche dans les 2 jours de journaux.


7
2017-07-11 09:12



Vous pouvez accéder à vos fichiers journaux à l'aide de la ligne de commande d'Heroku Interface (Utilisation de CLI).

Si la CLI d'Heroku est installée et que vous connaissez le nom de votre application (comme https://myapp.herokuapp.com/), vous pouvez alors exécuter la commande suivante:

heroku logs --tail --app=myapp

Vous pouvez également accéder aux journaux dans un flux en temps réel en utilisant:

heroku logs --source app --tail --app=myapp

Si les journaux vous disent quelque chose comme ceci:

NPM ERR! Un journal complet de cette exécution peut être trouvé dans:

NPM ERR! /app/.npm/_logs/2017-07-11T08_29_45_291Z-debug.log

Ensuite, vous pouvez également y accéder en utilisant le terminal bash via Heroku CLI:

heroku run bash --app=myapp
less ./.npm/_logs/2017-07-11T08_29_45_291Z-debug.log

7
2017-12-15 15:54