J'ai une petite application sur heroku. Chaque fois que je veux voir les journaux, je vais sur la ligne de commande et je fais
heroku logs
Cela ne me montre qu'une centaine de lignes. N'y a-t-il pas un moyen de voir les journaux complets de notre application sur heroku?
heroku logs -n 1500
, c'est la meilleure méthode disponible sur Cedar. Si vous avez besoin de plus de lignes que cela, vous avez besoin d'un drain syslog: devcenter.heroku.com/articles/logging#syslog_drainsheroku run rails c
. Mise à jour!heroku run cat log/production.log
?La journalisation s'est considérablement améliorée dans Heroku!
Meilleur!
références: http://devcenter.heroku.com/articles/logging
MISE À JOUR
Ce ne sont plus des modules complémentaires, mais une partie de la fonctionnalité par défaut :)
la source
Heroku traite les journaux comme des flux d'événements ordonnés dans le temps. Accéder
*.log
fichiers sur le système de fichiers n'est pas recommandé dans un tel environnement pour diverses raisons.Tout d'abord, si votre application possède plusieurs 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 la vue complète.
Deuxièmement, le système de fichiers sur Heroku est éphémère, ce qui signifie chaque fois que votre dyno est redémarré ou déplacé (ce qui se produit environ une fois par jour ), les fichiers journaux sont perdus. Ainsi, vous obtenez au maximum une vue d'une journée dans les journaux de ce seul dyno.
Enfin, sur la pile Cedar en cours d'exécution
heroku console
ou mêmeheroku run bash
ne vous connecte pas à un dyno en cours d'exécution. Il en génère un nouveau spécifiquement pour labash
commande. C'est ce qu'on appelle un processus ponctuel . En tant que tel, vous ne trouverez pas les fichiers journaux de vos autres dynos qui exécutent les processus http réels sur celui généréheroku run
.La journalisation , et la visibilité en général, est un citoyen de première classe sur Heroku et il existe plusieurs outils pour résoudre ces problèmes. Tout d'abord, pour voir un flux d'événements d'application en temps réel sur tous les dynos et toutes les couches de l'application / pile, utilisez la
heroku logs -t
commande pour suivre la sortie vers votre terminal.Cela fonctionne très bien pour observer le comportement de votre application en ce moment. Si vous souhaitez stocker les journaux pendant des périodes plus longues, vous pouvez utiliser l'un des nombreux modules complémentaires de journalisation qui fournissent la conservation des journaux, les alertes et les déclencheurs.
Enfin, si vous souhaitez stocker les fichiers journaux vous-même, vous pouvez configurer votre propre drain Syslog pour recevoir le flux d'événements de Heroku et post-traiter / analyser vous-même.
Résumé: n'utilisez pas
heroku console
ouheroku run bash
pour afficher les fichiers journaux statiques. Connectez-vous au flux d'événements de journal de Heroku pour votre application à l'aide d'heroku logs
un module complémentaire de journalisation.la source
Voir également les flux / filtres individuels.
Par exemple, ne conservez que vos journaux d'application
Ou voir uniquement les journaux du routeur
Ou enchaînez-les ensemble
Tellement bon..
la source
heroku logs --ps web.1
(avec 1 dyno)Eh bien, les réponses ci-dessus sont très utiles, elles vous aideront à visualiser à 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électionner votre application et enfin cliquer sur afficher les journaux
la source
Suivez la journalisation Heroku
Pour consulter vos journaux, nous avons:
--num
(ou-n
) option.la source
heroku logs -t
nous montre les journaux en direct.la source
Vous pouvez accéder à vos fichiers journaux à l'aide de l'interface de ligne de commande de Heroku ( utilisation CLI ).
Si l'interface CLI de Heroku est installée et que vous connaissez le nom de votre application (comme
https://myapp.herokuapp.com/
), vous pouvez exécuter la commande suivante:Vous pouvez également accéder aux journaux dans un flux en temps réel en utilisant:
Si les journaux vous indiquent quelque chose comme ceci:
Ensuite, vous pouvez également y accéder en utilisant le terminal bash via Heroku CLI:
la source
/usr/bin/less: cannot execute binary files
Cela pourrait valoir la peine d'ajouter quelque chose comme le plan Papertrail gratuit à votre application. Aucune configuration, et vous obtenez 7 jours de données de journalisation jusqu'à 10 Mo / jour, et pouvez rechercher dans 2 jours de journaux.
la source
pour les fichiers WAR:
Je n'ai pas utilisé github, mais j'ai téléchargé directement un fichier WAR (que j'ai trouvé beaucoup plus facile et plus rapide).
Donc, ce qui suit m'a aidé:
J'espère que cela aidera quelqu'un.
la source
Vous devez utiliser l' option
-t
ou--tail
et vous devez définir le nom de votre application heroku.la source
Ma solution consiste à obtenir un journal complet au premier démarrage de l'application, comme:
puis ajoutez
fgrep -vf
pour le garder à jour, comme:pour une journalisation continue, il suffit de l'itérer en utilisant watch pour toutes les x minutes (ou secondes).
la source
Pour voir le journal détaillé, vous devez mettre deux lignes dans le
production.rb
fichier:puis en exécutant
vous pouvez voir les journaux détaillés.
la source
Je préfère le faire de cette façon
Vous pouvez laisser le script s'exécuter en arrière-plan et vous pouvez simplement filtrer les journaux du fichier texte comme vous le souhaitez à tout moment.
la source
Vous devez avoir un vidage de certains journaux implémenté et vous devez y vider vos journaux, pour voir tous les journaux (gérer également les journaux historiques):
Connectez-vous ensuite à votre serveur Splunk et recherchez un nombre illimité de journaux. J'utilise Splunk et cela fonctionne parfaitement bien pour moi.
Deuxième option - Vous pouvez acheter un module complémentaire à votre application, comme indiqué ci-dessous: (Je n'ai pas utilisé ces options, mais ce sont celles disponibles).
https://github.com/goodeggs/heroku-log-normalizer
Il n'a pas Readme.md, mais une explication est donnée à https://github.com/goodeggs/bites/issues/20
enfin
Et vous pouvez toujours utiliser la commande ci-dessous comme mentionné par d'autres utilisateurs déjà:
La commande suivante réduira les journaux générés sur heroku
La commande suivante montrera le nombre de 1000 lignes de journaux de heroku
la source
Je suggère d'utiliser un addon, j'utilise Logentries. Pour l'utiliser, exécutez dans votre ligne de commande:
heroku addons:create logentries:le_tryit
(cette commande crée l'addon pour un compte gratuit mais vous pouvez clairement mettre à niveau si vous le souhaitez)
Logentries vous permet d'économiser jusqu'à 5 Go de volume de journal par mois. Cette information est consultable par leur recherche de commandes au cours des 7 derniers jours et elle dispose d'alertes en temps réel.
Donc, pour répondre à votre question, en utilisant cet addon, vous vous assurez que vos journaux ne sont plus perdus lorsque vous atteignez les 1500 lignes que Heroku enregistre par défaut. J'espère que cela t'aides! Passez une bonne journée!
la source
heroku logs -t
nous montre les journaux en direct.heroku logs -n 1500
pour un nombre spécifique de journauxMais je recommanderais tout de même d'utiliser l'add-on Paper Trail qui présente certains avantages et propose un plan de base gratuit.
la source
Vous pouvez utiliser
heroku logs -n 1500
Mais ce n'est pas une approche recommandée (en d'autres termes ne vous montre pas la vraie image)
Je vous suggère de brancher un outil de journalisation. (sumoLogic, paper trail n all) comme module complémentaire
Ils ont tous une version gratuite (avec quelques limitations, bien que suffisante pour une petite application ou un env dev, qui fournira de bonnes informations et un outil pour analyser les journaux)
la source
Pour la pile de cèdre, voir:
https://devcenter.heroku.com/articles/oneoff-admin-ps
vous devez exécuter:
heroku run bash ...
la source
heroku run bash
tourne un nouveau dynamo pour héberger labash
commande. Le système de fichiers de ce banc d'essai ne contiendra aucun fichier journal des bancs d'essai Web «actifs», de sorte que cette approche ne fonctionnera pas.