Affichage d'un fichier journal «défilant»

28

Via la ligne de commande, j'ai un fichier journal dont je voudrais garder la trace.

Ce que je veux, c'est d'avoir, fondamentalement, un tailqui s'actualise lorsque le journal est mis à jour, ce qui fait défiler le texte vers le haut lorsque de nouvelles lignes sont ajoutées au fichier journal.

Y a-t-il quelque chose qui fait cela sans avoir à écrire du code?

WernerCD
la source

Réponses:

35

taila l' -foption:

Depuis la manpage:

-f, --follow [= {nom | descripteur}] affiche les données ajoutées au fur et à mesure de la croissance du fichier; -f, --follow et --follow = les descripteurs sont équivalents

Ainsi, si vous tapez:

tail -f [path_and_name_of_logfile] - vous verrez la sortie dans le terminal lorsque le fichier journal lui-même est ajouté.

NB [path_and_name_of_logfile]est le paramètre, donc pour donner un exemple:

tail -f /var/log/messages

Si vous combinez avec l' -n [number_of_lines]option, vous pouvez démarrer la sortie à partir du dernier [nombre_de_lignes] du fichier - par exemple

tail -n 10 -f /var/log/Xorg.0.log

entrez la description de l'image ici


Certains programmes changeront périodiquement leur fichier journal, en déplaçant l'ancien vers un nouveau nom (par exemple log.0) et en recommençant.

NB logrotate le fait pour enregistrer des fichiers pour d'autres programmes qui ne le font pas eux-mêmes.

tail -f continuera de suivre l'ancien fichier après son changement de nom.

tail -F suivra le fichier par son nom, donc basculera pour suivre le nouveau fichier.

liberté libre
la source
les deux réponses sont parfaites ... ne réalisaient pas que Tail avait cette option. vous obtenez le chèque pour les informations supplémentaires.
WernerCD
En passant, il existe également quelques scripts impressionnants pour coloriser votre journal de résidus. un exemple qui me vient à l'esprit est colorize.pl, et vous y parvenez en le passant par le script colorize. par exemple: tail -f / var / log / messages | /home/me/colorize.pl
lazyPower
@lazyPower Nice aussi. Je vais devoir bricoler avec ça, même si je ne pense pas que ce sera super utile dans ma situation actuelle.
WernerCD
18

Bien que ce tailsoit certainement la façon habituelle de le faire, il convient de noter qu'il lessa la même fonctionnalité et est parfois plus utile.

Si vous avez ouvert un fichier avec, lessvous pouvez appuyer sur Shift+ Fpour le faire suivre le fichier (c'est-à-dire qu'il affichera de nouvelles lignes, tout comme tail -f). Vous pouvez quitter ce mode avec Ctrl+C

Vous pouvez également commencer lessavec l' +Foption, auquel cas elle démarrera dans ce mode. D'une manière générale, il +peut être utilisé pour donner des "commandes clavier" lessauxquelles il s'exécutera au démarrage.

L'utilisation lessde ceci a l'avantage que vous pouvez facilement rechercher le fichier ou afficher d'autres zones si le besoin s'en fait sentir. Je l'ai souvent fait avec des fichiers journaux, par exemple.

Joachim Sauer
la source
Jamais entendu parler de "suivre" (plus, moins, queue, chat). Bon à savoir.
WernerCD
1
D'accord. Je préfère de beaucoup moins. Ctrl-C arrêtera le défilement lorsque vous repérerez quelque chose d'intéressant, puis b pour revenir en arrière ou f en avant et / ou? pour rechercher en avant ou en arrière. g vous amènera au début du fichier et G à la fin. Tout ce dont vous avez besoin.
Martin Dow
6

Est-ce que

tail -f something.log

fais ce que tu veux?

Florian Diesch
la source
4

tail a deux implémentations pour suivre et produire des données qui sont ajoutées à un fichier

  • suivre le descripteur de fichier
  • suivre un dossier avec un certain nom

Avec le paramètre -f, --followet --follow=descriptor, tailsuit le descripteur de fichier. Cette méthode permet de suivre le fichier à travers un changement de nom mais le suivi s'arrête lorsque le fichier est tourné (un nouveau fichier est créé avec un descripteur de fichier différent).

Lorsque vous suivez des fichiers qui tournent, utilisez --follow=nameou un -Fparamètre égal à --follow=name --retry. De cette façon tail, vous rouvrirez périodiquement le fichier pour surmonter la rotation possible.

Jawa
la source
1

Je pense que ccze est le bon outil pour vous.

Il fait la même chose de coloriser. Vous pouvez regarder le journal défiler vers le bas, mais il est plus facile à lire, car les lignes sont imprimées avec des couleurs (erreurs en rouge, etc.). Vous pouvez l'essayer rapidement avec quelque chose comme ceci:

tail -f /var/log/syslog | ccze
Gelma
la source