Je copie les journaux de ma propre application et de mes postgres.
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log
Je dois inclure les journaux de pgpool. Auparavant, il s'agissait de syslog, mais maintenant il est dans journalctl.
Existe-t-il un moyen de lier ensemble queue -f && journalctl -f?
Vous pouvez utiliser:
journalctl -u service-name -f
-f, --suivre
Afficher uniquement les entrées de journal les plus récentes et imprimer en continu les nouvelles entrées au fur et à mesure qu'elles sont ajoutées au journal.
Ici, j'ai ajouté "service-name" pour distinguer cette réponse des autres; vous remplacez le nom du service réel au lieu du texte service-name
.
Vous pouvez transmettre vos entrées de journal à journal :
systemd-cat tail -f /tmp/myapp.log /var/log/postgresql.log
puis utilisez journalctl -f
... bien que comme Mark l'a mentionné, cela imprimera toutes les entrées du journal.
Une façon de filtrer uniquement les messages de ces journaux et de cette unité particulière consiste à utiliser un SYSLOG_IDENTIFIER
c'est-à-dire modifier le fichier d'unité et sous [Service]
section ajouter par exemple.
SyslogIdentifier=my_stuff
redémarrez l'unité puis exécutez systemd-cat
avec le même identifiant
systemd-cat -t my_stuff tail -f /tmp/myapp.log /var/log/postgresql.log
et finalement interroger le journal uniquement pour cet identifiant particulier:
journalctl -f -t my_stuff
Si bash est disponible, vous pouvez utiliser substitution de processus comme l'un des paramètres tail
:
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log <(journalctl -f)
essayez quelque chose comme:
tail -f /tmp/myapp.log >> /tmp/tail.log &
journalctl -f >> /tmp/tail.log &
tail -f /tmp/tail.log